powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
6 сообщений из 6, страница 1 из 1
mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
    #38516214
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

DDL: (база с FW = ON , page_size=4K):
====
Код: sql
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.
recreate sequence g; commit;
recreate table t(id int, s01 varchar(8), s02 varchar(8));
commit;

select current_timestamp dts,'start' msg from rdb$database;
set stat on;
set term ^;
execute block as
declare n int = 100000000;
declare i int = 0;
begin
  while (i<n) do begin

     insert into t(id,s01,s02) --, b01, b02)
     values(  :i
             ,rpad('', 8, uuid_to_char(gen_uuid()))
             ,rpad('', 8, uuid_to_char(gen_uuid()))
            );
     if (mod(i,1000000)=0) then i=i+0*gen_id(g,1000000);

     i=i+1;
  end
end ^
set term ;^
commit;
select current_timestamp dts, 'done' msg from rdb$database;



Далее:

Код: 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.
 attach #1 
$ isql localhost/3330:/var/db/fb30/tmp_30813_extents.fdb
SQL> update t set s01=s02, s02=s01; -- уходит в себя на минут 10
 
attach #2  (пока молотил attach #1)
SQL> set list on;
SQL> commit; select * from mon$attachments where  mon$user containing 'writer' ;

MON$ATTACHMENT_ID               292
MON$SERVER_PID                  8882
MON$STATE                       0
MON$ATTACHMENT_NAME             /var/db/fb30/tmp_30813_extents.fdb
 MON$USER                        Cache Writer                                                                      
MON$ROLE                        <null>
MON$REMOTE_PROTOCOL             <null>
MON$REMOTE_ADDRESS              <null>
MON$REMOTE_PID                  <null>
MON$CHARACTER_SET_ID            0
MON$TIMESTAMP                   2013-12-30 20:18:16.2360
MON$GARBAGE_COLLECTION          1
MON$REMOTE_PROCESS              <null>
MON$STAT_ID                     11
MON$CLIENT_VERSION              <null>
MON$REMOTE_VERSION              <null>
MON$REMOTE_HOST                 <null>
MON$REMOTE_OS_USER              <null>
MON$AUTH_METHOD                 <null>


SQL> commit; delete from mon$attachments where mon$attachment_id<>current_connection;
SQL> commit; select * from mon$attachments where  mon$user containing 'writer' ;
SQL>  -- no rows! -- 
Это так и должно быть ?

ЗЫ. ФБ с патчем на экстенты от Влада. Но есть смутное сомнение, что экстенты тут вообще ни причём.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> show version;
ISQL Version: LI-T3.0.0.30813 Firebird 3.0 Alpha 2
Server version:
Firebird/Linux/AMD/Intel/x64 (access method), version "LI-T3.0.0.30813 Firebird 3.0 Alpha 2"
Firebird/Linux/AMD/Intel/x64 (remote server), version "LI-T3.0.0.30813 Firebird 3.0 Alpha 2/tcp (oel64)/P13:C"
Firebird/Linux/AMD/Intel/x64 (remote interface), version "LI-T3.0.0.30813 Firebird 3.0 Alpha 2/tcp (oel64)/P13:C"
on disk structure version 12.0
SQL> show database;
Database: localhost/3330:/var/db/fb30/tmp_30813_extents.fdb
        Owner: SYSDBA
PAGE_SIZE 4096
Number of DB pages allocated = 1804832
Sweep interval = 20000
Forced Writes are ON
Transaction - oldest = 478
Transaction - oldest active = 539
Transaction - oldest snapshot = 539
Transaction - Next = 551
ODS = 12.0
Default Character set: NONE
...
Рейтинг: 0 / 0
mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
    #38516256
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЭто так и должно быть ?Нет
Таблоидэкстенты тут вообще ни причём.Конечно
...
Рейтинг: 0 / 0
mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
    #38516264
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда вот еще один примерчик.

attach #1 .Создаём новую базу:

Код: plaintext
1.
2.
3.
4.
5.
$ isql -q
SQL> create database 'tmp.fdb'; commit;
SQL> create table t(id int); commit; quit;
$ isql localhost/3330:/var/db/fb30/tmp.fdb
Database:  localhost/3330:/var/db/fb30/tmp.fdb
SQL> insert into t(id) select 1 from rdb$types,rdb$types,rdb$types,rdb$types,rdb$types; -- ушло в себя, переключаемся во второе окно

Код: plaintext
1.
2.
3.
4.
5.
 attach #2 
$ isql localhost/3330:/var/db/fb30/tmp.fdb
SQL> set list on;
SQL> commit; select * from mon$attachments where mon$user containing 'writer';
-- вывод поскипан --
SQL> commit; delete from mon$attachments where mon$attachment_id<>current_connection;

В это время в attach #1 :
Код: plaintext
1.
2.
Statement failed, SQLSTATE = 08003
connection shutdown
-internal Firebird consistency check (record disappeared (186), file: vio.cpp line: 3468)

А в окне attach #2 , где только что вырубили первый аттач, повторный запрос к mon$ вываливает:
Код: plaintext
1.
2.
3.
4.
5.
SQL> commit; select * from mon$attachments where mon$user containing 'writer';
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (can't continue after bugcheck)
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (can't continue after bugcheck)

При этом в логе будет:
Код: plaintext
1.
2.
3.
4.
5.
oel64   Mon Dec 30 22:19:33 2013
        Database: /var/db/fb30/tmp.fdb
        connection shutdown
        internal Firebird consistency check (record disappeared (186), file: vio.cpp line: 3468)


Валидация же покажет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
oel64   Mon Dec 30 22:19:57 2013
        Database: /var/db/fb30/tmp.fdb
        PP 140733193388261 (seq 1) have ppg_dp_full 0x00 while DP have 0x02


oel64   Mon Dec 30 22:19:59 2013
        Database: /var/db/fb30/tmp.fdb
        Pointer page (sequence 74) inconsistent in table T (128)


oel64   Mon Dec 30 22:19:59 2013
        Database: /var/db/fb30/tmp.fdb
        Page 198 is an orphan -- и далее 100500 млн таких же орфанов.
...
Рейтинг: 0 / 0
mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
    #38516266
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидЭто так и должно быть ?НетТогда http://tracker.firebirdsql.org/browse/CORE-4309
(там я случайно запостил с незавершенным Summary; надеюсь, Шон подправит)
...
Рейтинг: 0 / 0
mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
    #38516274
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

а кнопочкой EDIT в трекере тебе не кошерно пользоваться?
...
Рейтинг: 0 / 0
mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
    #38516276
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrа кнопочкой EDIT в трекере тебе не кошерно пользоваться?а... точно! что-то не увидел я её. Глаз замылился уже :-)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / mon$attachments: cache writer исчезает после del from mon$att where mon$att_id<>curr_conn
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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