ファイルクローラ設定の「設定パラメータ」設定について

Fess14.15に更新して、ファイルクロールを再度行いました。以前から同様の内容が障害URLにでていたのですが、動きと設定について確認させてください。

下記URLに記載のあるように、1GB以上のファイルクロールを行わないよう、ファイルクロールの設定-設定パラメータに「client.maxContentLength=1073741824」を設定したのですが、障害URLに「org.codelibs.fess.crawler.exception.MaxLengthExceededException」が発生します。

ログには「org.codelibs.fess.crawler.exception.MaxLengthExceededException: The content length (1776287772 byte) is over 1073741824 byte. The url is smb://172.27.44.139/XXX.bin
at org.codelibs.fess.crawler.client.AbstractCrawlerClient.checkMaxContentLength(AbstractCrawlerClient.java:138)
at org.codelibs.fess.crawler.client.smb.SmbClient.getResponseData(SmbClient.java:212)
at org.codelibs.fess.crawler.client.smb.SmbClient.processRequest(SmbClient.java:161)
at org.codelibs.fess.crawler.client.smb.SmbClient.doHead(SmbClient.java:391)
at org.codelibs.fess.crawler.client.AbstractCrawlerClient.execute(AbstractCrawlerClient.java:129)
at org.codelibs.fess.crawler.FessCrawlerThread.isContentUpdated(FessCrawlerThread.java:98)
at org.codelibs.fess.crawler.CrawlerThread.run(CrawlerThread.java:148)
at java.base/java.lang.Thread.run(Thread.java:840)
」のように、1GB以上のファイルをクロールしたように見える内容が出力されています。
ちなみに、ここでException が発生したファイルは1776287772 byte でした。

設定が間違っているのでしょうか?
app/WEB-INF/classes/crawler/contentlength.xml のdefaultMaxLength は 1073741824 のように1GBまでに修正しています。

コメント頂ければ幸いです。よろしくお願いいたします。

MaxLengthExceededExceptionは、ファイルのサイズ情報を取得したときにしきい値を超えていたので、ファイルのデータは取得していません。

で設定したファイルサイズより大きなファイルは、ファイルのサイズ情報を取得したときにMaxLengthExceededException が出力されるということですね。

ファイルクロールの設定-設定パラメータに「client.maxContentLength=1073741824」を設定したのですが、この設定ではExceptionが発生するのでしょうか?
このExceptionが出力されないように設定したいのですが可能でしょうか?

ファイルサイズがしきい値を超えたときに、MaxLengthExceededExceptionが発生します。

このExceptionが出力されないように設定したいのですが可能でしょうか?

この要件がよくわかりませんが、 除外するエラーの種類に記述しておけば、障害URLには登録されなくなると思います。

分かりにくい表現ですみませんでした。
「client.maxContentLength=1073741824」を指定してもこのExceptionが発生しているので、1GB以上を除外するための正しい設定は何か 知りたかった ということです。

>パラメーター欄で max_size=... で指定してみてください。

投稿後に上記を見つけて、max_size=1073741824に変更しても「MaxLengthExceededException」が発生したので確認させて頂いた次第です。
また、教えて頂いたリンクにもあるように「除外するエラーの種類」に記述すると"しきい値を超える障害URLでもクロール対象になります"との記載がありました。数GB のファイルも同じフォルダにあるので、ここに記述するとOutofMemoryになるのではないかと思い、まだ試していませんでした。

I gave up on it back then.
By the way, I took a look at “System Info” > “Config Info” > “ENV Properties” block. There is an env variable “FESS_HEAP_SIZE=512m”, maybe try changing it.

ちょっとよくわかっていませんが
・ファイルサイズが1,776,287,772バイトのファイルをクロールする
という場合に
・client.maxContentLength=1073741824を指定する
という設定をすると、
・ファイルはメタ情報だけを取得して、ファイルのデータは取得しない
・MaxLengthExceededExceptionを発生させて、インデックスはされない
というのが仕様です。
・1GB以上を除外するための正しい設定
という想定がよくわかりませんが、1GB以上かどうかはファイルサイズを取得しないとわからないので、ファイルのメタ情報にはアクセスする必要があります。
クロール前に対象かどうかはクローラーではわからないので、クロール設定の除外するパスなどに入れて除外してください。

クロール対象のファイルサイズの上限を上げる、という設定は、事前にクロールで使用するメモリーやCPU負荷などの見積もりが適切に行われている、というのが必須で、適切な設定でなければ、OOMなどの問題が発生するので十分な知識が必要になり、簡単ではありません。

FESS_HEAP_SIZE=512mの設定は、クローラーのヒープメモリのサイズ指定ではないので、クロール時のOOMには関係ありません。

クロールの仕様についてご説明ありがとうございます。
私が勘違いをしていました。
app/WEB-INF/classes/crawler/contentlength.xml のdefaultMaxLength を1GBに修正したので、
client.maxContentLengthを設定すれば、MaxLengthExceededExceptionを障害URLに発生させないようにできるのかと考えておりました。
確かにclient.maxContentLengthを設定してもしなくても同じ動き(同じパスがMaxLengthExceededExceptionになる)でした。

地道にMaxLengthExceededExceptionが発生したパスでクロール設定から除外して参ります。

>FESS_HEAP_SIZE=512mの設定は、クローラーのヒープメモリのサイズ指定ではないので、クロール時のOOMには関係ありません。
クロール時にOutofMemoryが出ないように同時クロール数を減らしたり、クロール設定のスレッド数を減らしたりと試行錯誤してfess_config.properties のjvm.crawler.optionsを 調整していたら、現在はXmx13g になっています。システム全体のバランスを調整する必要があったので大変でした。

ご回答ありがとうございました。