越急越乱 越想早走,越让你走不了
场景:
昨晚,使用solrj全量同步更新索引数据……生产环境
肚子饿……家里冰箱中还有半个西瓜…
异常信息如下:
org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: http://localhost:8080/solr/sdr 404
at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:566)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
at
Caused by: org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:867)
at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:452)
... 8 more
Caused by: org.apache.http.client.NonRepeatableRequestException: Cannot retry request with a non-repeatable request entity. The cause lists the reason the original request failed.
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:656)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
... 12 more
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
at org.apache.http.impl.io.AbstractSessionOutputBuffer.write(AbstractSessionOutputBuffer.java:181)
at org.apache.http.impl.io.ChunkedOutputStream.flushCacheWithAppend(ChunkedOutputStream.java:124)
at org.apache.http.impl.io.ChunkedOutputStream.write(ChunkedOutputStream.java:181)
at org.apache.http.entity.InputStreamEntity.writeTo(InputStreamEntity.java:132)
at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:89)
at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:108)
at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:117)
... 14 more
1.首先被HTTP 404 迷惑了一时
2.google查找:
Cannot retry request with a non-repeatable request entity. The cause lists the reason the original request failed.
有同学遇到是因为jdk版本错误导致。
fuck,我还真在打包编译时使用了jre7(应该使用jre8)。但,重新打包依然不行…..
3.淡定,淡定…….再次细心查看异常栈信息,发现:
org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:117)
“serialize”序列化…….首先想到服务端和客户端实体Bean相关jar包是否同步更新一致,经确认一致……jdk也一致。
“数据库TINYINT,怎么经过jdbc过变为true和false了?”突然想起开发测试环境时反馈。只是异常信息提示很明确。
生产库,把对应的2个字段TINYINT变为INT…………….TM,就好了