Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Приветствую! Сегодня получил интересную проблему, под нагрузкой (коннектов около 100) сервер начал сыпать ошибку "Lock conflict on nowait transaction" в разных триггерах которые инсертят данные в одну протоколирующиую табличку (она не очень большая ок. 4 млн записей всего). После того, как выгнал всех операторов (delete from mom$attachments) жисть наладилась, хоть и повизжали немного. Собственно вопросы: 1. Откуда берется лок конфликт на инсерте? 2. Что делать когда "оно" наступило? 3. Что сделать что "оно" впредь не наступало? fb 2.5.3, 64 бит, линукс, база порядка 45 гиг, судя по top память/процы нагружены, но чрезмерно, в своп не лезет. TempCacheLimit = 33554432 LockMemSize = 7048576 LockHashSlots = 30011 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 11:52 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Вторым будешь: http://www.sql.ru/forum/1115385/lock-conflict-mezhdu-insert-i-delete?hl= Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:03 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, 0. Ты 100% уверен, что сбойный оператор - именно инсерт ? Там своих триггеров нет ? Полное сообщение об ошибке можно увидеть ? В лог заглядывал (на всякий) ? Если 146% за инсерт, то 1. PK\UK\FK у этой таблицы есть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:05 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Вторым так вторым, я не против. В логе ФБ чисто (штатные записи о сработавшем ночером свипе и немного 104, далеко от времени затыка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:06 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВторым будешь: http://www.sql.ru/forum/1115385/lock-conflict-mezhdu-insert-i-delete?hl= Воспроизводить пробовали ? Не удалось ? Больше не возникало ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:07 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
DDL Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. hvladТы 100% уверен, что сбойный оператор - именно инсерт ?ДА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:09 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
hvladПолное сообщение об ошибке можно увидеть ? там разные триггеры в присланном скриншоте ссылка на этот оператор (эта часть одинаковая у всех засветившихся триггеров) /* ВСТАВКА В Z_LOG_TABLE */ insert into Z_LOG_TABLE (Z_ID, LOG_ID, L_TABLE, L_OPER, SQLTEXT) values(:Z_ID, :LOG_ID, 'DOG_P', 1, :SQLTEXT); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:12 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevskyсудя по top память/процы нагружены, но чрезмерно, в своп не лезет.багфикс не чрезмерно, из доступных 48 гиг занято 40-41, процы 2 шт по 4 ядра на брата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:15 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
hvladВоспроизводить пробовали ? Не удалось ? Больше не возникало ? Я уже даже не помню у кого именно оно возникало. Поскольку ответа не было найдено, а проблема саморассасывается при последующих попытках, то всё так и заглохло. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:43 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovне помню у кого именно оно возникало. у мну . Но не только при массовых попытках аттача, еще и при других условиях было. Поищу в архиве переписок Э & K, может нарою что... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 12:49 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovhvladВоспроизводить пробовали ? Не удалось ? Больше не возникало ? Я уже даже не помню у кого именно оно возникало. Поскольку ответа не было найдено, а проблема саморассасывается при последующих попытках, то всё так и заглохло. была примерно такая фигня 4 года назад. пересечение было на PK/FK. сами данные транзакционны, а вот индексы - не совсем. как победил уже не помню, система была временная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 13:02 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Таблоиду мну. Нет, оно возникало при работе репликатора, а не коннекте. Перерыл сейчас все логи, ничего не нашёл, что странно, поскольку я храню все присланные мне логи от начала времён. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 13:10 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНет, оно возникало при работе репликатора, а не коннекте.У мну это было задолго до репликатора, в конце 2010. На тесте, который пытался развалить индексы (тогда шли ожесточённые поиски причин missing entries). И ошибка лезла именно на insert'ах. Её очень трудно было получить, она проявлялась 1 или 2 раза всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 13:58 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, ещё одна версия - индекс на таблице с логом (или FK на неё) не перестраивали в это время ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 14:33 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
hvladещё одна версия - индекс на таблице с логом (или FK на неё) не перестраивали в это время ?Метаданные не менялись точно, индексы не перестраивались. Насколько может тупить Gen_id ? Есть несколько операций где дергаются генераторы, в некоторых хранимках по десятку тысяч. сейчас хочу отрефакторить пару-тройку хранимок, чтоб вместо тысячи обращений к gen_id(g, 1), дернуть оную один раз gen_id(g, 1000) и далее выбирать пока не кончится. Как раз в момент инцидента работало нечто подобное, обращений к генераторам было довольно много. Но тут надо, наверно, нагрузочное тестирование провести, сколько мой сервер способен потянуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 14:49 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Возможно нужно к сообщению об ошибке прикреплять стэйтмент который её вызвал. Вдруг там не инсерт совсем. Или наоборот - там на самом деле инсерт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 16:01 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyНасколько может тупить Gen_id ?Мне проще спросить, что ты имеешь в виду, чем писать все возможные варианты ответов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 16:34 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
hvladчто ты имеешь в виду, чем писать все возможные варианты ответов...БОльшая часть инсертов, прежде чем сработать дергает генератор. Не мог "мордобой" за страничку с генераторами дать такой эффект? Особенно, когда некто приходит (более одного человека) и начинает за одно исполнение хранимки дергать 10-20 тыс раз генератор? В фоне при этом я насчитал 94 коннекта, у нескольких операторов, которых я обошел лично, ошибки были на триггерах, которые в свою очередь вызывают инсерты, а перед инсертом дергается генератор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 17:29 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyНе мог "мордобой" за страничку с генераторами дать такой эффект?Явно - нет. Что там на самом деле произошло - я не знаю. Ivan_PisarevskyВ фоне при этом я насчитал 94 коннекта, у нескольких операторов, которых я обошел лично, ошибки были на триггерах, которые в свою очередь вызывают инсерты, а перед инсертом дергается генератор.Так ведь ошибку 100500%% дал инсерт ?! Где полный её текст ? Как я могу быть уверен хоть в чём-то ? PS На данный момент, если верить указанным симптомам, я могу предполагать ровно 1 способ получения массовых isc_lock_conflict при инсертах - один из аттачей зарезервировал таблицу в несовместимом режиме. Это может быть при: а) построении\перестроении индекса этой таблицы или ФК на эту таблицу б) явном резервировании таблицы тр-цией с любым уровнем изоляции в) не явном резервировании таблицы тр-цей SNAPSHOT TABLE STABILITY PPS Это не значит, что там не произошло что-то экстраординарное и ранее неизвестное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 17:49 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
hvladГде полный её текст ? располагаю только скриншотом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 18:17 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
278 строка это последний end. В триггере дерганье генератора, возня с локальными переменными и инсерт в таблицу ДДЛ которой выше. hvladКак я могу быть уверен хоть в чём-то ?Я понимаю, что рассказ сбивчивый, действовал в час пик в цейтноте. Поэтому, учитывая что я даю явно недостаточную инфу для решенния проблемы, меня устроит и ответ на вопрос номер2: Ivan_Pisarevsky2. Что делать когда "оно" наступило?чтобы в следующий раз я не вышлядел "партизанином на допросе". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 18:24 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
hvladЭто может быть при:точно не "а", остальное перепроверю еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 18:25 |
|
||
|
Проблема Lock conflict on nowait transaction при Insert
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyЯ понимаю, что рассказ сбивчивый, действовал в час пик в цейтноте. Поэтому, учитывая что я даю явно недостаточную инфу для решенния проблемы, меня устроит и ответ на вопрос номер2: Ivan_Pisarevsky2. Что делать когда "оно" наступило?Т.к. точного ответа на вопрос 1 нет, то остаются общие меры: а) fb_lock_print -c -a b) состояние всех таблиц мониторинга (кроме статистики) Если эффект длится дольше, чем 10-15 сек, то было бы хорошо повторить сбор инф-ции 2-3 раза с интервалом 10-15 сек. Если это возможно, есс-но ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 18:49 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1562844]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 272ms |
| total: | 578ms |

| 0 / 0 |
