有2臺(tái)linux服務(wù)器,一臺(tái)布apache(A)和tomcat應(yīng)用程序(B),一臺(tái)布solr管理平臺(tái)(C)。
發(fā)現(xiàn)的bug為:
前臺(tái)訪問A,A轉(zhuǎn)發(fā)給B,B再訪問C,訪問失敗。
經(jīng)試驗(yàn),web server和app server不能放到一臺(tái)服務(wù)器上,否則通過apache代理,app server調(diào)用solrj會(huì)因獲取不到連接而失敗。
目前跟蹤調(diào)查到
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer
->
org.apache.commons.httpclient.HttpClient
->
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
httpclient的版本是3.1,懷疑是MultiThreadedHttpConnectionManager自定義的池出的問題。
網(wǎng)上搜了搜,沒什么相關(guān)資料。最近太忙,沒精力刨根問底了。暫時(shí)改了solrj源碼,使用了默認(rèn)的new HttpClient()
有誰也遇到類似問題并解決了,或知道怎么回事,麻煩告知一下。
PS:
solr更新這么迅速,為啥不把httpclient升級一下