Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема видимости обновленных версий записей / 17 сообщений из 17, страница 1 из 1
23.05.2019, 17:54
    #39817298
ahmed sultanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
Здравствуйте.
Я продолжаю разгребать вопросы, возникшие у нас после перехода с 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".
...
Рейтинг: 0 / 0
23.05.2019, 18:01
    #39817303
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanov Транзакции в которых заносятся данные очевидным образом подтверждены - иначе новые коннекты не видили бы изменения.

Зависит от уровня изоляции читающей транзакции. Если она снапшот, то она видит только то, что закоммичено до её старта. На чтение, разумеется. На контроль reference integrity и lock conflict видит всё.
...
Рейтинг: 0 / 0
23.05.2019, 18:02
    #39817304
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanovПользователи жалуются, что не видят в приложении данные , которые были недавно внесены другими пользователями
...
Транзакции в которых заносятся данные очевидным образом подтверждены - иначе новые коннекты не видили бы изменения .Тут - не видим, там - видим ? Ы ??

ahmed sultanovНо у меня возникают подозрения не связаны ли эти две проблемы99% - не связаны
...
Рейтинг: 0 / 0
23.05.2019, 20:36
    #39817353
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanovот кто записи не видит - не видит их пока не переконнектится к базе - тогда увидит. Приложение на BDE (стандартный ReadCommitted).

кто записи не видит - там repeatable read, а не read committed.
...
Рейтинг: 0 / 0
23.05.2019, 20:56
    #39817362
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanov,

давно бы уже запустил трейс и посмотрел что у тебя там действительно стартует и с каким уровнем изолированности
...
Рейтинг: 0 / 0
23.05.2019, 23:28
    #39817405
ahmed sultanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
Уважаемые Старый плюшевый мишка и kdv,
В том то и дело. У нас все на BDE. Весь доступ исключительно через TDatabase. Все TDatabase одинаковые - со значением tiReadCommitted. Нет там никаких tiRepeatableRead.
И в любом случае, если я правильно понимаю как работает BDE с RepeatableRead, там в рамках одного подключения все работает в рамках одной транзакции. Так что как только пользователь закоммитил бы любые свои данные, у него стартовала бы новая транзакция и следовательно следующим селектом он бы увидел "невидимые" записи. А у нас он их видит только после явного разрыва и установления нового коннекта.
Ну и моя любимая присказка - "почему то в FB2.5 та же самая программа вела себя правильно"...
...
Рейтинг: 0 / 0
24.05.2019, 00:58
    #39817414
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanov,

это вопросы в никуда. Запускаете трейс, смотрите, что и где.
Если бы в ФБ был подобный катастрофический баг, то уже давно бы об этом на каждом углу говорили.
Но ничего такого (почему-то) не слышно.

ahmed sultanov"почему то в FB2.5 та же самая программа вела себя правильно".
то есть, вы абсолютно уверены, что программа со времен использования ФБ 2.5 не менялась совершенно, ни в одной строчке кода, или настройки BDE слететь не могли?
...
Рейтинг: 0 / 0
24.05.2019, 14:14
    #39817781
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
kdvЕсли бы в ФБ был подобный катастрофический баг, то уже давно бы об этом на каждом углу говорили.
Но ничего такого (почему-то) не слышно.

Ну, чисто теоретически... ковыряя пальцом в носе и тыкая им же в небо... можно подумать о некотором упущенном из виду нюансе стыковки retaining, который сам по себе есть костыль, рудимент и атавизьм, и практически никем нынче не используется, скажем, с модификациями вcвязи с совремённым взглядом на пресловутую стабильность курсора в RC :)) Я так не то что не помню, а просто никогда даже не знал как этот самый retaining устроен - стартуется новая транзакция с клонированием нечта под названием "контекст" или её номер в TIP помечается как commited, а в этом самом контексте просто меняется на новый. Или ещё как. А не задумывался об этом просто потому, что из банальной осторожности по отношению к хитромудрствованию с базовыми понятиями в угоду концепции клиентского компонента никогда им и не пользовался. И во времена BDE держал в приложении один читающий RC TDatabase для чтения через TQuery и один-два пишущих Concurrency, через которые изменения вносились тоже через TQuery, автономные. И никаких датасетов-автокоммитов-редактирований в гридах.
...
Рейтинг: 0 / 0
24.05.2019, 14:23
    #39817787
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
Старый плюшевый мишкаможно подумать о

И да, разумеется, начинать предаваться этому занятию следует не раньше получения внятного тест-кейса.
...
Рейтинг: 0 / 0
24.05.2019, 15:53
    #39817854
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
Старый плюшевый мишка с модификациями вcвязи с совремённым взглядом на пресловутую стабильность курсора в RC

что именно ты под этим понимаешь? Стабильность курсора не зависит от уровня изолированности транзакции, да и проявляется только при модификации по записям курсора той же самой таблицы. Для обычных INSERT, UPDATE, DELETE она должна быть по фигу.

Если же ты про statement cosistency для RC, то это появилось только в 4.0
...
Рейтинг: 0 / 0
24.05.2019, 16:03
    #39817863
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
Симонов ДенисСтарый плюшевый мишка с модификациями вcвязи с совремённым взглядом на пресловутую стабильность курсора в RC

что именно ты под этим понимаешь? Стабильность курсора не зависит от уровня изолированности транзакции, да и проявляется только при модификации по записям курсора той же самой таблицы. Для обычных INSERT, UPDATE, DELETE она должна быть по фигу.


Ты там гы-гы зря отрезал. Самоирония называеццо.

Симонов ДенисЕсли же ты про statement cosistency для RC, то это появилось только в 4.0

Пожалуй, это ближе к делу. Но по любому с моей стороны всего лишь сотрясение воздухов и гадание на кофейной гуще. Просто чуть пофантазировал на тему - обо что там вообще может споткнуться это чудо - retaining.
...
Рейтинг: 0 / 0
24.05.2019, 16:28
    #39817884
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
Старый плюшевый мишкаможно подумать о некотором упущенном из виду нюансе стыковки retaining
я подумал о другом - что в ФБ3 более жетский контроль последовательности параметров транзакций, но в этом случае БДЕ бы просто обламывался на старте транзакции.
Однако, в БДЕ весьма вероятны "глотания" exceptions, так что реально показать, что там, может только ТРЕЙС. Чему автор топика упорно сопротивляется.
...
Рейтинг: 0 / 0
24.05.2019, 16:38
    #39817902
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
kdvЧему автор топика упорно сопротивляется.

Он просто не знает на какие кнопки надо нажимать чтобы его включить. Поэтому игнорирует.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24.05.2019, 22:27
    #39818081
ahmed sultanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
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
- не знаю, что это - буду искать.
К сожалению (или наоборот) мы не смогли сегодня локализовать такую проблему с версиями как вчера-позавчера. Пользователи не жаловались, а у нас не воспроизвелась.
Буду трейсить дальше.
...
Рейтинг: 0 / 0
24.05.2019, 22:42
    #39818088
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanov,

А на сколько жизнеспособный/финансируемый проект?
Может вам просто помочь все это потихонечку переписать на IBX/FireDAC??
...
Рейтинг: 0 / 0
24.05.2019, 23:00
    #39818091
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
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
- не знаю, что это - буду искать.На это нужно смело забить
...
Рейтинг: 0 / 0
25.05.2019, 00:12
    #39818102
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема видимости обновленных версий записей
ahmed sultanovДля нас, малограмотных, эти кнопки располагаются в IBExpert-е.
вообще эти кнопки в fbtracemgr располагаются. А то завтра IBExpert отключат, и руки отвалятся.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема видимости обновленных версий записей / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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