有2台linux服务器,一台布apache(A)和tomcat应用程序(B),一台布solr管理平台(C)。
发现的bug为:
前台访问A,A转发给B,B再访问C,访问失败。
经试验,web server和app server不能放到一台服务器上,否则通过apache代理,app server调用solrj会因获取不到连接而失败。
目前跟踪调查到
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer
->
org.apache.commons.httpclient.HttpClient
->
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
httpclient的版本是3.1,怀疑是MultiThreadedHttpConnectionManager自定义的池出的问题。
网上搜了搜,没什么相关资料。最近太忙,没精力刨根问底了。暂时改了solrj源码,使用了默认的new HttpClient()
有谁也遇到类似问题并解决了,或知道怎么回事,麻烦告知一下。
PS:
solr更新这么迅速,为啥不把httpclient升级一下