我们从主到从复制过程中不断得到这个例外。 我们的索引大小是9.7克,我们正试图复制一个从无到有的奴隶。
二零一三年十月三十零日18:22:16996 [明确-fetchindex-CMD] ERROR ReplicationHandler - SnapPull失败:org.apache.solr.common.SolrException:无法完全下载_41c_Lucene41_0.doc。 下载0!= 107464871在org.apache.solr.handler.SnapPuller $ DirectoryFileFetcher.cleanup(SnapPuller.java:1266)在org.apache.solr.handler.SnapPuller $ DirectoryFileFetcher.fetchFile(SnapPuller.java:1146)的组织。 apache.solr.handler.SnapPuller.downloadIndexFiles(SnapPuller.java:741)在org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:405)在org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler。 Java的:319)在org.apache.solr.handler.ReplicationHandler $ 1.run(ReplicationHandler.java:220)
我在某些线程读取,有Solr中4.1相关的错误,但我们使用Solr的4.3和4.5.1与还尝试。 它的接缝DirectoryFileFetcher无法下载文件,有时,这些文件被下载到药膏的大小为零。
这是在主安装:
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</str>
<str name="confFiles">stopwords.txt,spellings.txt,synonyms.txt,protwords.txt,elevate.xml,currency.xml</str>
<str name="commitReserveDuration">00:00:50</str>
</lst>
</requestHandler>
和从设置:
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</str>
<str name="confFiles">stopwords.txt,spellings.txt,synonyms.txt,protwords.txt,elevate.xml,currency.xml</str>
<str name="commitReserveDuration">00:00:50</str>
</lst>
</requestHandler>
这个问题似乎是与HttpClient的。 我打开调试日志记录的所有库,看到一条消息“以应对垃圾”从HttpClient的未来就在失败之前。
这是一个日志片断:
31 Oct 2013 18:10:40,360 [explicit-fetchindex-cmd] DEBUG DefaultClientConnection - Sending request: GET /solr-master/replication?comman
d = filecontent&代= 6814&QT =%2Freplication&FILE = _aa7_Lucene41_0.pos&校验=真重量= FILESTREAM HTTP / 1.1 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - >>“GET / solr的主/复制命令= filecontent&代= 6814&QT =%2Freplication&FILE = _aa7_Lucene41_0.pos&校验=真重量= FILESTREAM HTTP / 1.1 [\ R] [\ n]的 “2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - >>” 用户代理:Solr的[org.apache.solr.client.solrj.impl.HttpSolrServer] 1.0 [\ R] [\ n]的 “2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - >>” 主机: solr-master.saltdev.sealdoc.com:8081[\r][\n] “2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - >>” 连接:保持活动[\ R] [\ n]的” 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - >> “[\ R] [\ n]的” 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG头 - ?>> GET / solr的主/复制命令= filecontent&代= 6814&QT =%2Freplication&FILE = _aa7_Lucene41_0.pos&校验=真重量= FILESTREAM HTTP / 1.1 31的Oc 吨2013 18:10:40361 [显式fetchindex-CMD] DEBUG头 - >>用户代理:Solr的[org.apache.solr.client.solrj.impl.HttpSolrServer] 1.0 2013年10月31日18:10:40361 [明确-fetchindex-CMD] DEBUG头 - >>主持人:solr-master.saltdev.sealdoc.com:8081 2013年10月31日18:10:40361 [明确-fetchindex-CMD] DEBUG头 - >>连接:保持活动10月31日2013 18:10:40361 [显式fetchindex-CMD] DEBUG丝- << “[\ R] [\ n]的” 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG DefaultHttpResponseParser -垃圾响应: 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝- << “4 [\ R] [\ n]的” 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG DefaultHttpResponseParser -垃圾响应:4 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝- << “[为0x0] [为0x0] [为0x0] [为0x0] [\ R] [\ n]的” 2013年10月31日18 :10:40361 [显式fetchindex-CMD] DEBUG DefaultHttpResponseParser - 垃圾响应:^ @ ^ @ ^ @ ^ @ 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - <<“0 \ R] [\ n]的 “2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG DefaultHttpResponseParser - 垃圾响应:0 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG丝 - <<”[ \ R] [\ n]的” 2013年10月31日18:10:40361 [显式fetchindex-CMD] DEBUG DefaultHttpResponseParser - 垃圾响应:2013年10月31日18:10:40398 [显式fetchindex-CMD] DEBUG DefaultClientConnection - 连接0.0 .0.0:55266 < - > 172.16.77.121:8081关闭2013年10月31日18:10:40398 [显式fetchindex-CMD] DEBUG DefaultClientConnection - 连接0.0.0.0:55266<->172.16.77.121:8081关闭2013年10月31日18:10:40398 [显式fetchindex-CMD] DEBUG DefaultClientConnection - 连接0.0.0.0:55266<->172.16.77.121:8081关闭2013年10月31日18:10:40398 [显式fetchindex-CMD] DEBUG PoolingClientConnectionManager - 连接释放:[ID:0] [路线:{} - > http://solr-master.saltdev.sealdoc.com:8081] [总保持存活:1; 路线分配:10000 1; 总分配:10000 1] 2013年10月31日18:10:40425 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 释放目录:/ opt / watchdox / solr的从站/数据/索引2假2013年10月31日18:10:40425 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 重用缓存目录:CachedDir <> 2013年10月31日18:10:40425 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 释放目录:/ opt / watchdox / solr的从站/数据0假2013年10月31日18:10:40425 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 重用缓存目录:CachedDir <> 2013年10月31日18:10:40427 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 释放目录:/ opt / watchdox / solr的从机/数据0假2013年10月31日18:10:40428 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 与DIR完成:CachedDir <> 2013年10月31日18:10:40428 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 释放目录:/opt/watchdox/solr-slave/data/index.20131031180837277 0真实的2013年10月31日18:10:40.4 28显式fetchindex-CMD] INFO CachingDirectoryFactory - 寻找关闭/opt/watchdox/solr-slave/data/index.20131031180837277 [CachedDir <>] 2013年10月31日18:10:40428 [显式fetchindex-CMD] INFO CachingDirectoryFactory - 截止目录:/opt/watchdox/solr-slave/data/index.20131031180837277 2013年10月31日18:10:40428 [显式fetchindex-CMD] INFO CachingDirectoryFactory - 芯靠近前卸下目录:/ opt / watchdox / solr的从机/data/index.20131031180837277 2013年10月31日18:10:40878 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 从缓存中移除:CachedDir <> 2013年10月31日18:10:40878 [显式fetchindex-CMD] DEBUG CachingDirectoryFactory - 释放目录:/ opt / watchdox / solr的从站/数据/索引1假2013年10月31日18:10:40879 [显式fetchindex-CMD] ERROR ReplicationHandler - SnapPull失败:org.apache.solr.common.SolrException:无法下载_aa7_Lucene41_0.pos完全。 下载0!= 1081710在org.apache.solr.handler.SnapPuller $ DirectoryFileFetcher.cleanup(SnapPuller.java:1212)在org.apache.solr.handler.SnapPuller $ DirectoryFileFetcher.fetchFile(SnapPuller.java:1092)的组织。 apache.solr.handler.SnapPuller.downloadIndexFiles(SnapPuller.java:719)在org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:397)在org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler。 Java的:317)在org.apache.solr.handler.ReplicationHandler $ 1.run(ReplicationHandler.java:218)
2013年10月31日18:10:40910 [HTTP-BIO-8080-EXEC-8] DEBUG CachingDirectoryFactory - 重用缓存目录:CachedDir <>
所以我升级httpcomponents罐到最新的版本4.3.x版本,问题就消失了。 在httpcomponents罐子是在其中在4.2.x版的版本,我升级到的HttpClient-4.3.1 solrj的相关性,的HttpCore-4.3和httpmime-4.3.1现在几次我跑了复制和一点问题都没有,这是现在按预期工作。 它接缝,升级是必要只在奴隶的一面,但我要过升级主。