org.codelibs.fess.crawler.exception.EsAccessException

(from osdn.net/users/makiyama-shinji)
お世話になります、Fess10.0.3をWindows 2012 Serverで構築しました。

他のWindowsファイルサーバでDFSのルートになっている領域を、
ファイルシステムクロールの設定で、smb://CNAME名/パス/ でクロールしています。
(CNAME名はDNSサーバに登録されているホスト名の別名です)

以前から
org.codelibs.fess.crawler.exception.EsAccessException
が出てクロールできないフォルダがあります。

障害URLには以下のように表示されます。

種類 org.codelibs.fess.crawler.exception.EsAccessException

ログ org.codelibs.fess.crawler.exception.EsAccessException: failure in bulk execution:
[0]: index [.crawler], type [queue], id [20170111000000-1.c21iOi8vam4wMDEvMTAwMDAwNy9BUzAxMDdzMS91c3JkcnYvX-WPgueFp-eUqOODieOCreODpeODoeODs-ODiC80MC7oo73kvZzlsYDpnaIoSU1QKS8zMC7ljZjkvZPoqabpqJMoVVQpLzQwLkpEReS8muioiC81MC7nrqHnkIbkvJroqIgvMDEuVVQvUDU3MTYyNEJf5pSv5bqX6LK755So6YWN6LOm5Z-65rqW6YeR6aGN5oq95Ye6L1A1NzE2MjRCX-aUr-W6l-iyu-eUqOmFjeizpuWfuua6lumHkemhjeaKveWHui54bHM], message [EsRejectedExecutionException[rejected execution of org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase$1@6542a617 on EsThreadPoolExecutor[bulk, queue capacity = 50, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@1af4031c[Running, pool size = 16, active threads = 16, queued tasks = 50, completed tasks = 193463]]]]

at org.codelibs.fess.crawler.service.impl.AbstractCrawlerService.insertAll(AbstractCrawlerService.java:243)
at org.codelibs.fess.crawler.service.impl.EsUrlQueueService.offerAll(EsUrlQueueService.java:156)
at org.codelibs.fess.crawler.CrawlerThread.storeChildUrls(CrawlerThread.java:357)
at org.codelibs.fess.crawler.CrawlerThread.run(CrawlerThread.java:196)
at java.lang.Thread.run(Unknown Source)

エラー回数 2

もちろんWIndowsフォルダのアクセス権は設定されていおり、フォルダ内のファイルにはパスワード等は設定されていません。
同様のエラーでクロールできないフォルダが、万単位であります。
これは何のエラーで、設定で回避できないでしょうか。

よろしくお願いいたします。

(from osdn.net/users/shinsuke)
EsRejectedExecutionExceptionですので、Elasticsearchへのリクエストが
リジェクトされています。クロールの頻度を下げるか、Elasticsearchを
独立して構成して、
https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-threadpool.html
などのチューニングをする等になると思います。

(from osdn.net/users/makiyama-shinji)
クロールの頻度を下げるというのは、各クローラ設定のスレッド数を下げるのも該当するでしょうか。

[メッセージ #79234 への返信]

EsRejectedExecutionExceptionですので、Elasticsearchへのリクエストが
リジェクトされています。クロールの頻度を下げるか、Elasticsearchを
独立して構成して、
https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-threadpool.html
などのチューニングをする等になると思います。

(from osdn.net/users/shinsuke)
はい。その稼働している環境でFessからElasticsearchに投げている
リクエストがElasticsearch側でさばききれていないので、
Elasticsearchをチューニングなどしない場合はスレッド数や間隔を
調整して、FessからElasticsearchへのリクエスト数を減らすなどに
なると思います。

(from osdn.net/users/makiyama-shinji)
お返事ありがとうございます。
各クローラ設定のスレッド数を下げることを検討しますが、
Fessに同梱されているElasticsearchのチューニングは行えないのでしょうか。
貼っていただいたURLにあるようなthread poolに関する設定ファイルが、
Fess10.0.3では見当たりませんでした。

Elasticsearchを独立して構成しないと、Elasticsearchのチューニングは出来ないという意味でしょうか。

(from osdn.net/users/makiyama-shinji)
またまた自己解決しました。

Fessクローラーのスレッド数を少し下げても、変わらなかったので、

fluentd -> Elasticsearch 大量データ転送でトラブル
http://blog.kakipo.com/trouble-with-fluentd-and-elasticsearch/

の記載を参考に、

D:\fess-10.0.3\es\config\node_1\elasticsearch.yml

に、

threadpool.bulk.queue_size: 500 # デフォルト 50

を追記して、Fessを再起動後、クロールしたところ、今まで出ていた
「org.codelibs.fess.crawler.exception.EsAccessException」
が障害URLに出なくなって、
ダッシュボード⇒Node1⇒View node statsのthread_poolのbulkのrejected がカウントされなくなりました。

},
“thread_pool”: {
“bulk”: {
“threads”: 2,
“queue”: 0,
“active”: 0,
“rejected”: 0,
“largest”: 2,
“completed”: 19566
},