powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / OAT > OST: как такое происходит ?
12 сообщений из 12, страница 1 из 1
OAT > OST: как такое происходит ?
    #38623822
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

http://www.ibphoenix.com/resources/documents/general/doc_67 The Oldest Active Transaction (OAT) is the first transaction marked as active in the TIP pages.
The Oldest Snapshot Transaction (OST) is the oldest transaction that started in Snapshot mode.Объясните, плз, как может случиться, что OAT больше, чем OST:
Код: plaintext
1.
2.
3.
4.
Oldest transaction      20259575
Oldest active           20259576
Oldest snapshot         20258146
Next transaction        20268075

Детализация по OAT: стартовала в 22:06:49.8090, обломалась и выполнила rollback в 22:12:54.2410
Детализация по OST: стартовала в 22:04:47.6880, обломалась и выполнила rollback в 22:06:57.0800.

Снимок был сделан до отката OAT (но вот был ли он позже 22:06:57.0800 - не уверен).
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38623836
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

OAT всегда больше OST. Потому что OST - это старейшая активная, которая была активной на момент старта OAT.
В порядке убывания идут Next, OAT, OST, OIT. OIT может плавать от низа до OAT.
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38623871
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.ibphoenix.com/resources/documents/general/doc_67 The Oldest Snapshot Transaction (OST) is the oldest transaction that started in Snapshot mode.Это бред, забудь
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648265
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvOST - это старейшая активная Так-с. Продолжаем разговор :-)
Если OST относится к разряду активных, то она должна торчать в mon$transactions.

Однако!
На тесте с 35 молотилками, после 2 часов работы, O S T безнадёжно застрял:

Код: 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.
Database:  localhost/3333:oltp30
SQL> shell  /opt/fb30trnk/bin/gstat -h oltp30;

Database "/var/db/fb30/oltp30.fdb"
Database header page information:
        Flags                   0
        Generation              640140
        System Change Number    0
        Page size               16384
        ODS version             12.0
        Oldest transaction      513440
        Oldest active           513441
         Oldest snapshot         310577 
        Next transaction        640109
        Sequence number         0
        Next attachment ID      359
        Implementation          HW=AMD/Intel/x64 little-endian OS=Linux CC=gcc
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        3
        Creation date           May 21, 2014 23:19:56
        Attributes

    Variable header data:
        Sweep interval:         20000
        *END*

Свип не стартует, он следит за OIT - O A T, а они близки.

Как понять, что произошло с OST (и отчего она застопорилась), если:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SQL> set list on;
SQL> commit; select min(mon$transaction_id) from mon$transactions;

MIN                             78


SQL> commit; select * from mon$transactions where abs(mon$transaction_id - 310577) <=1000;
 -- no rows -- 
SQL>
- ?
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648310
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидkdvOST - это старейшая активная Так-с. Продолжаем разговор :-)
Если OST относится к разряду активных, то она должна торчать в mon$transactions.
ты точно до конца дочитал фразу kdv, которую цитируешь?
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648464
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrты точно до конца дочитал фразу kdv, которую цитируешь?дочитал, но так и не понял: если она НЕ активная (т.е. её не должно быть в mon$tran), то почему она не "догоняет" OAT.
Причём, она не намертво застряла, вот картина на 10 утра:
Код: plaintext
1.
2.
3.
Oldest transaction      1587472
Oldest active           1587473
Oldest snapshot         1449575
Next transaction        2008230

Но и свипа в логе нету.
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648475
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоиддочитал, но так и не понял: если она НЕ активная (т.е. её не должно быть в mon$tran)Этого там тоже не говорилось

Таблоидвот картина на 10 утра:
Код: plaintext
1.
2.
3.
Oldest transaction      1587472
Oldest active           1587473
Oldest snapshot         1449575
Next transaction        2008230
Покажи запись про OAT

PS
Таблоид
Код: plaintext
1.
2.
3.
SQL> commit; select min(mon$transaction_id) from mon$transactions;

MIN                             78
Ты сам-то в это веришь ?
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648487
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидвот картина на 10 утра:
Код: plaintext
1.
2.
3.
Oldest transaction      1587472
Oldest active           1587473
Oldest snapshot         1449575
Next transaction        2008230
Покажи запись про OATУже не смогу: остановил я его. Попозжее еще раз запущу, этот эффект обязательно снова будет.

hvladPS
Таблоид
Код: plaintext
1.
2.
3.
SQL> commit; select min(mon$transaction_id) from mon$transactions;

MIN                             78
Ты сам-то в это веришь ?В смысле ?? Глянь в аттач, там вся правда :-)
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648572
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидСвип не стартует, он следит за OIT - OAT, а они близки.
OIT - OST

ТаблоидГлянь в аттач, там вся правда
еще раз - самая старая, существующая транзакция, имеет номер OAT. Меньше ее в mon$ ничего нет и быть не может. Потому что старейшая активная - это старейшая активная.
поэтому вычитать из mon$transaction_id можно, но только вообще, а тебе надо было просто другой столбец mon$ проверять на твои 310577
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38648692
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидВ смысле ?? Глянь в аттач, там вся правда :-)

Там нет ни имени текущей БД, ни той, с которой снималась статистика gstat-ом.

PS А может у тебя RCRO тр-ция висит всё время выполнения теста ?
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38649223
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТам нет ни имени текущей БД, ни той, с которой снималась статистика gstat-ом. я был хоть и уставшим, но не настолько же, чтобы базы попутать... :-)
hvladPS А может у тебя RCRO тр-ция висит всё время выполнения теста ?ИБЭ таких транзакций, насколько я знаю, не откроет. В isql их надо специально объявлять. Ладно, увижу снова - вытащу сюда.
...
Рейтинг: 0 / 0
OAT > OST: как такое происходит ?
    #38649517
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидя был хоть и уставшим, но не настолько же, чтобы базы попутать... :-)Чудес не бывает - и это не зависит от степени твоей усталости ;)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / OAT > OST: как такое происходит ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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