Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mknmz problem (HP-UX)



mknmz で作成されるインデックスが、時々ごっそり抜ける(NMZ.rにも無い)
という現象に悩まされていました。
これを相談しようと思ってメーリングリストに入ったのですが、原因が分か
りましたので報告しておきます。

おそらく、かなり稀なケースだとは思います。
Namazu-2.0 on HP-UX で確認しましたが、OSに依存する現象なので、例えば
SunOS では発生しないはずです。

HP-UX の automount は、ファイルシステムを /tmp_mnt というディレクト
リにマウントし、マウントポイントには、/tmp_mnt/foo へのシンボリック
リンクを作成します。

/home/shimamura@ -> /tmp_mnt/home/shimamura

/home/shimamura にアクセスがある限り、マウントは保持されますが、
/tmp_mnt/home/shimamura へのアクセスでは、マウントは保持されません。
mknmz で、このようなファイルシステムの*ディレクトリ*をターゲットにす
ると、その下のターゲットの一覧は、/tmp_mnt からのパスとなります。

[mknmz の1140行辺り]
	    my $wanted_closure = sub {
		my $fname = "$File::Find::dir/$_";
		add_target($fname, \@flist, \%counts);
	    };

よって、そのディレクトリ配下のデータが大きい(処理時間が長い)場合、他
からのアクセスが無いと、インデックスの作成途中でマウントが切れてしま
います。

% mknmz /project/web
16716 files are found to be indexed.
1/16716 - /tmp_mnt/project/web/.../contents.html [text/html]
[snip]
413/16716 - /tmp_mnt/project/web/.../chap11_11_1.html [text/html]
414/16716 - /tmp_mnt/project/web/.../chap11_11_2.html [text/html]
Use of uninitialized value at /shr/misc/bin/mknmz line 584.
415/16716 - /tmp_mnt/project/web/.../chap12.html does NOT EXIST! skipped.
415/16715 - /tmp_mnt/project/web/.../chap12_1.html does NOT EXIST! skipped.
415/16714 - /tmp_mnt/project/web/.../chap12_1_1.html does NOT EXIST! skipped.
[snip]
Writing index files...
[Base]
Date:                Fri Feb 25 18:25:05 2000
Added Documents:     414
Size (bytes):        303,177
Total Documents:     414

非常に後ろ向きなのですが、mknmz が実行されている間、バックグラウンド
で「マウントを保持するスクリプト(Bourne sh)」を走らせて、暫定対策と
しました。
時間が取れたら、mknmz 側での対策も考えてみますが、perl は少ししか読
めないので、考えるだけで終わってしまう可能性大です。(^^;

From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
Subject: [namazu 1534] Re: locale
Date: Thu, 24 Feb 2000 14:35:40 +0900

> 気が向いたら開発にも参加してくださいませ。:)

私ごときでお役に立てるか心配ですが、とりあえずお邪魔させて頂くことに
します。

-- 
(Mr.)Yutaka Shimamura : shimamura@xxxxxxxxxxxxxxxxxxxxx
 [ Oki Electric Industry Co.,Ltd. (Makuhari SeaSide) ]