powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / lock conflict между insert и delete
16 сообщений из 16, страница 1 из 1
lock conflict между insert и delete
    #38745124
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано: база в первом диалекте и таблица типа
Код: 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
lock conflict между insert и delete
    #38745128
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

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

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

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

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

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


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