Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / OAT > OST: как такое происходит ? / 12 сообщений из 12, страница 1 из 1
23.04.2014, 22:25:17
    #38623822
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
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
23.04.2014, 23:12:51
    #38623836
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
Таблоид,

OAT всегда больше OST. Потому что OST - это старейшая активная, которая была активной на момент старта OAT.
В порядке убывания идут Next, OAT, OST, OIT. OIT может плавать от низа до OAT.
...
Рейтинг: 0 / 0
24.04.2014, 00:52:39
    #38623871
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
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
22.05.2014, 02:26:46
    #38648265
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
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
22.05.2014, 07:08:46
    #38648310
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
ТаблоидkdvOST - это старейшая активная Так-с. Продолжаем разговор :-)
Если OST относится к разряду активных, то она должна торчать в mon$transactions.
ты точно до конца дочитал фразу kdv, которую цитируешь?
...
Рейтинг: 0 / 0
22.05.2014, 10:20:14
    #38648464
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
dimitrты точно до конца дочитал фразу kdv, которую цитируешь?дочитал, но так и не понял: если она НЕ активная (т.е. её не должно быть в mon$tran), то почему она не "догоняет" OAT.
Причём, она не намертво застряла, вот картина на 10 утра:
Код: plaintext
1.
2.
3.
Oldest transaction      1587472
Oldest active           1587473
Oldest snapshot         1449575
Next transaction        2008230

Но и свипа в логе нету.
...
Рейтинг: 0 / 0
22.05.2014, 10:24:20
    #38648475
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
Таблоиддочитал, но так и не понял: если она НЕ активная (т.е. её не должно быть в 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
22.05.2014, 10:29:33
    #38648487
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
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
22.05.2014, 11:04:26
    #38648572
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OAT > OST: как такое происходит ?
ТаблоидСвип не стартует, он следит за OIT - OAT, а они близки.
OIT - OST

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

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

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


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