<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">


<refentry id="gfjournaladmin.1">

<refentryinfo><date>21 Jun 2012</date></refentryinfo>

<refmeta>
<refentrytitle>gfjournaladmin</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>Gfarm</refmiscinfo>
</refmeta>

<refnamediv id="name">
<refname>gfjournaladmin</refname>
<refpurpose>ジャーナルファイルの特定レコードを消去する。</refpurpose>
</refnamediv>

<refsynopsisdiv id="synopsis">
<cmdsynopsis sepchar=" ">
  <command moreinfo="none">gfjournaladmin</command>
    <arg choice="opt" rep="norepeat"><replaceable>オプション</replaceable></arg>
    <arg choice="plain" rep="norepeat"><replaceable>ジャーナルファイル</replaceable></arg>
    <arg choice="plain" rep="norepeat"><replaceable>シーケンス番号</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>

<!-- body begins here -->

<refsect1 id="description"><title>DESCRIPTION</title>

<para>
<command moreinfo="none">gfjournaladmin</command> は、ジャーナルファイルの中から、
シーケンス番号 <replaceable>sequence-number</replaceable> を持った
レコードを消去します。
レコードは、同じ長さの NOP (no operation) レコードで置き換えられるため、
ジャーナルファイル内の他のレコードが移動したり、内容が変更されたりする
ことはありません。
</para>

<para>
gfmd はメタデータの不整合を検知すると、以下のようなログメッセージを出力
し、ただちに終了します。
</para>

<literallayout format="linespecific" class="normal">
	db_journal_store_thread : seqnum=938 ope=FILECOPY_ADD : \
	    already exists
</literallayout>

<para>
このような不整合は発生してはならないものではありますが、gfmd のバグに
よって一旦生じてしまうと、gfmd を再起動できなくなります。
起動時に gfmd はジャーナルデータの適用を行うため、再び不整合を検知して、
終了してしまいます。
<command moreinfo="none">gfjournaladmin</command> コマンドは、このような状況から抜け出す
ために使用します。
上記のログメッセージでは、シーケンス番号 938 のレコードによって不整合が
起きていることが示されています。
このレコードを消すには、次のようにコマンドを実行します。
</para>

<literallayout format="linespecific" class="normal">
	gfjournaladmin /var/gfarm-metadata/journal/0000000000.gmj 938
</literallayout>

<para>
BEGIN (オペレーションID 1) および END (オペレーションID 2) の
ジャーナルレコードは消すことができないので、注意して下さい。
</para>

</refsect1>

<refsect1 id="options"><title>OPTIONS</title>

<variablelist>

<varlistentry>
<term><option>-h</option></term>
<listitem>
<para>
引数オプションを表示します。
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-?</option></term>
<listitem>
<para>
<option>-h</option> と同じです。
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-n</option></term>
<listitem>
<para>
ジャーナルファイルは読み込みますが、実際に書き出す処理は行いません。　
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-v</option></term>
<listitem>
<para>
冗長な表示を行います。
</para>
</listitem>
</varlistentry>

</variablelist>

</refsect1>

</refentry>
