|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Здравствуйте. Я продолжаю разгребать вопросы, возникшие у нас после перехода с FB2.5 на FB3 (пока SC) Последние дни наблюдаю такое явление. Пользователи жалуются, что не видят в приложении данные, которые были недавно внесены другими пользователями. Обновление наборов данных не помогают. Новые коннекты новые записи видят. Тот кто записи не видит - не видит их пока не переконнектится к базе - тогда увидит. Приложение на BDE (стандартный ReadCommitted). Конфиг FB - стандартный (кроме ServerMode = SuperClassic). Транзакции в которых заносятся данные очевидным образом подтверждены - иначе новые коннекты не видили бы изменения. Одна особенность - в логе некоторое время назад начали появляться записи "internal Firebird consistency check (cannot find tip page (165), file: tra.cpp line: 2331)". Такая проблема недавно описывалась одним из участников форума в одноименной теме. В качестве решения предлагалось установить снапшот 3.0.5 (из-за исправленной ошибки http://tracker.firebirdsql.org/browse/CORE-5935). Установил - "internal Firebird consistency check" прекратились. Но у меня возникают подозрения не связаны ли эти две проблемы. С учетом того, что первая проблема явно связана с транзакциями и если я правильно понимаю что такое "tip page". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 17:54 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanov Транзакции в которых заносятся данные очевидным образом подтверждены - иначе новые коннекты не видили бы изменения. Зависит от уровня изоляции читающей транзакции. Если она снапшот, то она видит только то, что закоммичено до её старта. На чтение, разумеется. На контроль reference integrity и lock conflict видит всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 18:01 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanovПользователи жалуются, что не видят в приложении данные , которые были недавно внесены другими пользователями ... Транзакции в которых заносятся данные очевидным образом подтверждены - иначе новые коннекты не видили бы изменения .Тут - не видим, там - видим ? Ы ?? ahmed sultanovНо у меня возникают подозрения не связаны ли эти две проблемы99% - не связаны ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 18:02 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanovот кто записи не видит - не видит их пока не переконнектится к базе - тогда увидит. Приложение на BDE (стандартный ReadCommitted). кто записи не видит - там repeatable read, а не read committed. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 20:36 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanov, давно бы уже запустил трейс и посмотрел что у тебя там действительно стартует и с каким уровнем изолированности ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 20:56 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Уважаемые Старый плюшевый мишка и kdv, В том то и дело. У нас все на BDE. Весь доступ исключительно через TDatabase. Все TDatabase одинаковые - со значением tiReadCommitted. Нет там никаких tiRepeatableRead. И в любом случае, если я правильно понимаю как работает BDE с RepeatableRead, там в рамках одного подключения все работает в рамках одной транзакции. Так что как только пользователь закоммитил бы любые свои данные, у него стартовала бы новая транзакция и следовательно следующим селектом он бы увидел "невидимые" записи. А у нас он их видит только после явного разрыва и установления нового коннекта. Ну и моя любимая присказка - "почему то в FB2.5 та же самая программа вела себя правильно"... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2019, 23:28 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanov, это вопросы в никуда. Запускаете трейс, смотрите, что и где. Если бы в ФБ был подобный катастрофический баг, то уже давно бы об этом на каждом углу говорили. Но ничего такого (почему-то) не слышно. ahmed sultanov"почему то в FB2.5 та же самая программа вела себя правильно". то есть, вы абсолютно уверены, что программа со времен использования ФБ 2.5 не менялась совершенно, ни в одной строчке кода, или настройки BDE слететь не могли? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 00:58 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
kdvЕсли бы в ФБ был подобный катастрофический баг, то уже давно бы об этом на каждом углу говорили. Но ничего такого (почему-то) не слышно. Ну, чисто теоретически... ковыряя пальцом в носе и тыкая им же в небо... можно подумать о некотором упущенном из виду нюансе стыковки retaining, который сам по себе есть костыль, рудимент и атавизьм, и практически никем нынче не используется, скажем, с модификациями вcвязи с совремённым взглядом на пресловутую стабильность курсора в RC :)) Я так не то что не помню, а просто никогда даже не знал как этот самый retaining устроен - стартуется новая транзакция с клонированием нечта под названием "контекст" или её номер в TIP помечается как commited, а в этом самом контексте просто меняется на новый. Или ещё как. А не задумывался об этом просто потому, что из банальной осторожности по отношению к хитромудрствованию с базовыми понятиями в угоду концепции клиентского компонента никогда им и не пользовался. И во времена BDE держал в приложении один читающий RC TDatabase для чтения через TQuery и один-два пишущих Concurrency, через которые изменения вносились тоже через TQuery, автономные. И никаких датасетов-автокоммитов-редактирований в гридах. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 14:14 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаможно подумать о И да, разумеется, начинать предаваться этому занятию следует не раньше получения внятного тест-кейса. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 14:23 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка с модификациями вcвязи с совремённым взглядом на пресловутую стабильность курсора в RC что именно ты под этим понимаешь? Стабильность курсора не зависит от уровня изолированности транзакции, да и проявляется только при модификации по записям курсора той же самой таблицы. Для обычных INSERT, UPDATE, DELETE она должна быть по фигу. Если же ты про statement cosistency для RC, то это появилось только в 4.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 15:53 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Симонов ДенисСтарый плюшевый мишка с модификациями вcвязи с совремённым взглядом на пресловутую стабильность курсора в RC что именно ты под этим понимаешь? Стабильность курсора не зависит от уровня изолированности транзакции, да и проявляется только при модификации по записям курсора той же самой таблицы. Для обычных INSERT, UPDATE, DELETE она должна быть по фигу. Ты там гы-гы зря отрезал. Самоирония называеццо. Симонов ДенисЕсли же ты про statement cosistency для RC, то это появилось только в 4.0 Пожалуй, это ближе к делу. Но по любому с моей стороны всего лишь сотрясение воздухов и гадание на кофейной гуще. Просто чуть пофантазировал на тему - обо что там вообще может споткнуться это чудо - retaining. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 16:03 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаможно подумать о некотором упущенном из виду нюансе стыковки retaining я подумал о другом - что в ФБ3 более жетский контроль последовательности параметров транзакций, но в этом случае БДЕ бы просто обламывался на старте транзакции. Однако, в БДЕ весьма вероятны "глотания" exceptions, так что реально показать, что там, может только ТРЕЙС. Чему автор топика упорно сопротивляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 16:28 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
kdvЧему автор топика упорно сопротивляется. Он просто не знает на какие кнопки надо нажимать чтобы его включить. Поэтому игнорирует. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 16:38 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovОн просто не знает на какие кнопки надо нажимать... Ну это уж слишком сурово. Для нас, малограмотных, эти кнопки располагаются в IBExpert-е. Сегодня целый день трейсили. RepeatableRead не замечено. Все транзакции (TRA_350242, READ_COMMITTED | REC_VERSION | WAIT | READ_WRITE). Периодически всплывающая ошибка вида: 2019-05-24T09:23:20.4250 (8608:000000040D85ABC0) ERROR AT JResultSet::fetchNext *** (ATT_1011, SYSDBA:NONE, WIN1251, TCPv4:10.0.0.4/1173) ***.exe:10928 335544364 : request synchronization error - не знаю, что это - буду искать. К сожалению (или наоборот) мы не смогли сегодня локализовать такую проблему с версиями как вчера-позавчера. Пользователи не жаловались, а у нас не воспроизвелась. Буду трейсить дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 22:27 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanov, А на сколько жизнеспособный/финансируемый проект? Может вам просто помочь все это потихонечку переписать на IBX/FireDAC?? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 22:42 |
|
Проблема видимости обновленных версий записей
|
|||
---|---|---|---|
#18+
ahmed sultanovПериодически всплывающая ошибка вида: 2019-05-24T09:23:20.4250 (8608:000000040D85ABC0) ERROR AT JResultSet::fetchNext *** (ATT_1011, SYSDBA:NONE, WIN1251, TCPv4:10.0.0.4/1173) ***.exe:10928 335544364 : request synchronization error - не знаю, что это - буду искать.На это нужно смело забить ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2019, 23:00 |
|
|
start [/forum/topic.php?fid=40&fpage=23&tid=1560705]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 276ms |
total: | 418ms |
0 / 0 |