SolrJを使用して、Solrサーバーに文書を索引付けするJavaアプリケーションを使用しています。Solr Read Timeout(実稼働環境のみ)
私のローカルのテスト環境では、Windows XPのボックスのTomcatサーバー上でローカルのSolrインスタンスを実行します。別のWindowsボックスからJavaアプリケーションを実行すると、インデックス作成は正常に完了し、Solrログファイルは正常に見えます。
しかし、Solrのを実行している別のLinuxのWebサーバと通信するLinuxのWebサーバ上に配備同じJavaアプリケーションを実行している、私はすべてのSolrの更新コマンドの後にメッセージ「タイムアウトしを読んで」受信:
2011年7月14日3時12分:31 AM org.apache.solr.core.SolrCore INFOを実行する:[]
Webアプリケーション=/Solrのパス= /更新のparams = {質量= javabin &バージョン= 1}ステータス= 400 QTIME = 20020 07月14日2011 3:12:51 AM org.apache.solr.update.processor.LogUpdateProcessor終了情報:{} 0 20021 7月org.apache.solr.common.SolrExceptionログ 重大度:org.apache.solr.common.SolrException: java.net.SocketTimeoutException:読み取りがタイムアウトになった org.apache.solrです。 org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) でhandler.XMLLoader.load(XMLLoader.java:72)によって引き起こさ
...で: javax.xml.stream .XMLStreamException:java.net.SocketTimeoutException: タイムアウトの読み取り
これはどうして起こっているのでしょうか?私の疑念は、これらの接続が開始された後(例えば、ウェブフィルタリングソフトウェア、ファイアウォール...)、これらの接続が切断されていると思われるが、私の職場のネットワーク管理者はトラフィックがブロックされていないと言う。
solrconfig.xmlのコミットタイムアウト値は50秒に設定されています。私は間違っているかもしれませんが、他のタイムアウト値を設定する必要はないと思います。 – Kyle
基礎となるhttpclientライブラリに割り当てられたsolrjタイムアウトもあります – fyr