[Anthy-dev 3439] uim wikiでページインデックスが壊れる?

Back to archive index

YAMAMOTO Kengo / YamaKen yamak****@bp*****
2007年 3月 24日 (土) 02:59:07 JST


ヤマケンです。

uim wikiで度々全ページが消失するという報告を頂いたので、遅くなり
ましたがちょっと調べてみました。

ファイルの状態を確認してみたところ、wikiページを格納したファイル
そのものは消えておらず、インデックスだけが壊れてページ一覧が出な
くなっているように見えました。

以下の手順で復旧できるように見えるので、もしページが消えているの
を発見した場合は、誰でも構わないので試してみてください。

1) インデックスをバックアップしておく

  wget -nd -cN -O uimwiki-index.html http://anthy.sourceforge.jp/cgi-bin/hikija/hiki.cgi?c=index

2) ページがインデックスから消えた場合は、以下のように実際のページ
   が格納されているURL全てにアクセスすると、インデックスが再構築
   される(ように見える)

  ruby -e 'print ARGF.read.scan(%r!\bhref="(http://anthy\.sourceforge\.jp/[^"]+)"!).uniq.join("\n"), "\n"' uimwiki-index.html | wget -O /dev/null -i -


原因は今のところ不明です。インデックスファイル(info.db)は普通のテ
キストファイルなので、flock(2)が効いてなくて書き込みが競合でもし
てるのかと思いましたが、実際のデータ置場でflockをテストしてみたと
ころ正常に動作しているようです。

yamaken @ sf-usr-shell:/home/groups/a/an/anthy/uimhikidataja$ ruby -e 'p File.open("tmp.txt", "w+").flock(File::LOCK_EX)'
0
yamaken @ sf-usr-shell:/home/groups/a/an/anthy/uimhikidataja$ mount
...
grp-file:/home/groups on /misc/groups type nfs (rw,nosuid,nodev,noatime,rsize=4096,wsize=4096,hard,intr,timeo=10,addr=192.168.4.5)
...

------------------------------------------------
YAMAMOTO Kengo / YamaKen  yamak****@bp*****
FAMILY   Given / Nick
http://en.wikipedia.org/wiki/Japanese_name




Anthy-dev メーリングリストの案内
Back to archive index