|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
hi all Пишу сюда, т.к. nntp на этой машине не доступен, а автор IBE здесь регулярно бывает :-) Надеюсь на его пояснения по следующим фактам. Трейс показывает, что в ИБЭ: 1. С момента аттача к БД до восстановления окон "предыдущего рабочего окружения" последовательно открывается и закрывается 17 транзакций; это всё понятно и хорошо; 2. После выполнения вот такой пары команд в Script Executive: Код: plaintext 1.
2.1 открытие и немедленное закрытие (без единого оператора) транзакции TRA_22, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE (см аттач); 2.2. открытие загадочной TRA_23, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE, в которой ничего не происходит и которая остается активной до дисконнекта или следующего commit'a; 2.3 открытие TRA_24, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE, в которой делается один селект из RDB$RELATIONS, после чего она коммитится; 2.4 открытие TRA_25, READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE, в которой опять делается один селект из RDB$RELATIONS и транзакция коммитится. Обращаю внимание: транзакция TRA_23 остаётся всё это время активной в режиме READ_ WRITE . Выяснилось далее, что: а) если выполнить дисконнект от базы (а также реконнект), то эта транзакция будет отменена rollback'ом, хотя в ней ничего не менялось и не селектилось: Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Но затем опять повторяется странность: открывается ОДНА транзакция на DDL, в ней грохается таблица, транзакция коммитится, а дальше, после COMMIT'a, снова открываются ДВЕ транзакции - TRA_28, которая тут же закрывается, ничего не выполнив, а за ней - новая "загадка" - TRA_29, которая ничего не делает. И всё бы ничего, да ведь все эти транзакции (TRA_23, TRA_29) висят в режиме READ_COMMITTED | REC_VERSION | NOWAIT | READ_ WRITE . И значит, перед отъездом домой закрывать надо не только результаты запросов в SQL Editor'e, но и выполненные с commit'ом скрипты в SE! ВОПРОС_1. Открытие транзакций-"висяков" после commit'a в Script Executive - это бага или давно известная фича ? ВОПРОС-2. Зачем на старте делать такое кол-во (17) мелких RW-транзакций, которые обращаются к rdb$-таблицам и ничего не меняют в базе ? почему нельзя это делать в RO-транзакциях ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 00:35 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
1. Возможно, баг. 2. Проблема в чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 03:33 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
IBExpert2. Проблема в чем?До тех пор, пока они короткие, проблемы нет. Но лучше бы они работали в RO-режиме, раз уж ничего не меняют... ;-) Кроме того, непонятно: 1) для чего два раза делать каунт из RDB$RELATIONS с одним и тем же предикатом: Код: plaintext 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.
Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 08:52 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
ТаблоидКроме того, непонятно: Особенности реализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 09:37 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
IBExpert, Теперь Таблоид и тебя сосчитал! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 12:04 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
WildSeryIBExpert, Теперь Таблоид и тебя сосчитал! я всего лишь проверил информацию, поступившую из одного надёжного источника... Ну и сам, ес-сно, натыкался на это, причем много раз. Поэтому захотелось детальнее посмотреть, что там да как. 2 IBExpert : если бага (с транзакциями-"висяками", см пункт 1 в стартовом посте) будет исправлена, то где об этом посмотреть ? Тута или еще где-то ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 14:44 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
Таблоид 2 IBExpert : если бага (с транзакциями-"висяками", см пункт 1 в стартовом посте) будет исправлена, то где об этом посмотреть ? Тута или еще где-то ? Уже исправил. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 18:40 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
IBExpertУже исправил.А откуда скачивать ? вот тута лежит пока версия от 2 6 июня 2011. dir: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 21:37 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
ну раз уже качнул - трассирни, и будет понятно... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 21:45 |
|
IBExpert 2011.06.12: оставляет в ScriptExecutive открытую тран-цию после DDL + commit'a
|
|||
---|---|---|---|
#18+
olegentyну раз уже качнул - трассирни, и будет понятно...дык! разумеется, протрассировал снова - я ж на дату не сразу внимание обратил. Но лог остался тем же самым, снова TRA_23 запускается после commit'a и не закрывается. После уже понял причину: ibe_sfx.exe датирован позавчерашним днём, а об ошибке я сообщил вчера :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2011, 23:44 |
|
|
start [/forum/topic.php?fid=42&msg=37327921&tid=1599865]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 282ms |
0 / 0 |