AW: switching txlog file in 7.1beta

Поиск
Список
Период
Сортировка
От Zeugswetter Andreas SB
Тема AW: switching txlog file in 7.1beta
Дата
Msg-id 11C1E6749A55D411A9670001FA687963368185@sdexcsrv1.f000.d0188.sd.spardat.at
обсуждение исходный текст
Список pgsql-hackers
> > cusejoua=# update journaleintrag set txt_funktion=trim(txt_funktion);
> > FATAL 2:  write(logfile 0 seg 2 off 4612096) failed: No such file or directory
> > pqReadData() -- backend closed the channel unexpectedly.
> >         This probably means the backend terminated abnormally
> >         before or while processing the request.
> > The connection to the server was lost. Attempting reset: Failed.
> 
> Can you start up db with --wal_debug=1 and send me output?

Sorry, can't reproduce this exact case. The last log was actually number 3.
To reproduce similar states simply fill the data filesystem with any sql, 
(may need to be one that writes more than 16 Mb txlog). 

Compressed log something like:

INSERT @ 0/31853840: prev 0/31853648; xprev 0/31853648; xid 596: Heap - update: node 18719/18720; cid 0; tid 1005/26;
new3511/48
 
XLogFlush: rqst 0/22738576; wrt 0/31842304; flsh 0/24307040
ERROR:  cannot extend journaleintrag: No space left on device.       Check free disk space.
INSERT @ 0/31854040: prev 0/31853840; xprev 0/31853840; xid 596: Transaction - abort: 2000-12-15 11:30:38
XLogFlush: rqst 0/29779696; wrt 0/0; flsh 0/0
FATAL 2:  write(logfile 0 seg 1 off 15065088) failed: No space left on device
Server process (pid 23444) exited with status 512 at Fri Dec 15 11:33:12 2000
Terminating any active server processes...

Server processes were terminated at Fri Dec 15 11:33:12 2000
Reinitializing shared memory and semaphores
DEBUG:  starting up
DEBUG:  database system was interrupted at 2000-12-15 11:33:12
DEBUG:  CheckPoint record at (0, 316272)
DEBUG:  Redo record at (0, 316272); Undo record at (0, 0); Shutdown TRUE
DEBUG:  NextTransactionId: 590; NextOid: 18719
DEBUG:  database system was not properly shut down; automatic recovery in progress...
DEBUG:  redo starts at (0, 316328)
REDO @ 0/316328; LSN 0/316360: prev 0/316272; xprev 0/0; xid 590: XLOG - nextOid: 26911
..........
REDO @ 0/327312; LSN 0/327560: prev 0/327064; xprev 0/327064; xid 594: Heap - insert: node 1
8719/18720; cid 0; tid 0/18
DEBUG:  ReadRecord: there is no subrecord flag in logfile 0 seg 0 off 40
DEBUG:  Formatting logfile 0 seg 0 block 39 at offset 8072
DEBUG:  The last logId/logSeg is (0, 0)
DEBUG:  Set logId/logSeg in control file
DEBUG:  redo done at (0, 327312)
XLogFlush: rqst 0/0; wrt 0/327560; flsh 0/327560
...........
INSERT @ 0/327560: prev 0/327312; xprev 0/0; xid 0: XLOG - checkpoint: redo 0/327560; undo 0/0; sui 21; xid 595; oid
26911;shutdown
 
XLogFlush: rqst 0/327616; wrt 0/327560; flsh 0/327560
DEBUG:  database system is in production state

Seems ReadRecord should switch to seg 1 above and not 0. 
Then txlog file 0000001 somehow gets deleted. 

(all rows from table journaleintrag are lost) test server only of course :-)

Andreas


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Luis Sousa
Дата:
Сообщение: Re: Ocasional problems !!!!
Следующее
От: Zeugswetter Andreas SB
Дата:
Сообщение: heap page corruption not easy