gfjournaladmin - erase a particular record in a journal file
gfjournaladmin [options] journal-file sequence-number
gfjournaladmin erases a record with sequence-number in a journal file. Since the record is replaced by A NOP (no operation) record with the same length, other records in the journal file are not moved or modified.
When gfmd detects a conflict of metadata, it reports a log message like as the following and aborts immediately.
db_journal_store_thread : seqnum=938 ope=FILECOPY_ADD : \ already exists
Such a conflict should not happen, but once it has been caused by a bug of gfmd, restarting gfmd never succeeds. Since gfmd applies journal data at boot time, it finds the conflict and aborts again. gfjournaladmin command is used for getting out from the situation. The log message shown above suggests a record with the sequence number 938 causes a conflict. You can delete the record by executing:
gfjournaladmin /var/gfarm-metadata/journal/0000000000.gmj 938
Note that gfjournaladmin cannot erase a journal record of BEGIN (operation ID 1) or END (operation ID 2).
|21 Jun 2012||Gfarm|