Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / lock conflict между insert и delete / 16 сообщений из 16, страница 1 из 1
12.09.2014, 14:07
    #38745124
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Дано: база в первом диалекте и таблица типа
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE REPL$LOG (
  REPLNO INTEGER NOT NULL,
  SUBDBNO INTEGER NOT NULL,
  RELATIONNO INTEGER NOT NULL,
  SEQNO INTEGER NOT NULL,
  ......
  CONSTRAINT REPL$LOG_PK PRIMARY KEY (REPLNO,SUBDBNO,SEQNO))


SEQNO заполняется из генератора.

Одна nowait транзакция удаляет из неё 100500 записей запросом типа
Код: sql
1.
DELETE FROM REPL$LOG WHERE replno = ? and subdbno = ? and SEQNO<=?



Другая транзакция - добавляет одну запись.

Вопрос: как в таких условиях может возникать ошибка "lock conflict on no wait transaction", причём без дальнейших подробностей? То есть это целое сообщение об ошибке.
...
Рейтинг: 0 / 0
12.09.2014, 14:09
    #38745128
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Dimitry Sibiryakov,

версия сервера какая?
...
Рейтинг: 0 / 0
12.09.2014, 14:21
    #38745142
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
dimitr,2.5.2, CS
...
Рейтинг: 0 / 0
12.09.2014, 14:55
    #38745212
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
а ошибку какой коннект выдает? Удаляющий записи?
...
Рейтинг: 0 / 0
12.09.2014, 15:01
    #38745227
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
dimitr,вставляющий
...
Рейтинг: 0 / 0
12.09.2014, 15:23
    #38745265
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
dimitrа ошибку какой коннект выдает? Удаляющий записи?
Оба два. Совершенно одинаковую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.09.2014, 15:27
    #38745275
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Dimitry Sibiryakovdimitrа ошибку какой коннект выдает? Удаляющий записи?
Оба два. Совершенно одинаковую.

Извини,забыл про ошибку в логе репликатора
...
Рейтинг: 0 / 0
12.09.2014, 15:34
    #38745290
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Dimitry Sibiryakov,

в firebird.log в эти моменты времени ничего не появляется ?
...
Рейтинг: 0 / 0
12.09.2014, 16:24
    #38745353
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
hvlad,нет
...
Рейтинг: 0 / 0
18.05.2015, 12:15
    #38961385
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Dimitry Sibiryakov,

если параметр для SEQNO выбран неверно (слишком большим), то delete может удалять ещё незакоммиченные только что вставленные записи.
Ты его не из генератора берёшь ?
...
Рейтинг: 0 / 0
18.05.2015, 12:18
    #38961395
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
И ещё - какие пар-ры у удаляющей тр-ции ?
...
Рейтинг: 0 / 0
18.05.2015, 12:40
    #38961423
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
hvladТы его не из генератора берёшь ?
Я его беру как последнее значение, прочитанное предыдущим select ... order by seqno. В
таблицу он попадает, конечно, из генератора. Гарантировать, что нет ещё незакоммиченных
seqno с меньшими номерами, конечно, нельзя, но при уровне изоляции concurrency движок
вообще-то не должен их даже пытаться удалять (по идее).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2015, 14:32
    #38961596
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Dimitry Sibiryakovпри уровне изоляции concurrencyА с резервированием таблиц ты там не экспериментировал ?
...
Рейтинг: 0 / 0
18.05.2015, 14:38
    #38961611
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
hvladА с резервированием таблиц ты там не экспериментировал ?
Нет, я вообще не знаю как оно делается. Да и разве оно не только на consistency бывает?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2015, 15:13
    #38961674
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
Dimitry Sibiryakov,

оно не зависит от уровня изоляции - так что, хоть на RC RO :)
...
Рейтинг: 0 / 0
18.05.2015, 18:03
    #38961909
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lock conflict между insert и delete
hvladв) не явном резервировании таблицы тр-цей SNAPSHOT TABLE STABILITY
А вот это - интересный вариант. За свои-то транзакции я уверен, но триггера в таблицу
пишут в пользовательских и что там эти пользователи могли наворотить - неизвестно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / lock conflict между insert и delete / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]