You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Gary Lee (JIRA)" <ji...@apache.org> on 2016/06/25 00:42:16 UTC

[jira] [Comment Edited] (SOLR-9248) HttpSolrClient not compatible with compression option

    [ https://issues.apache.org/jira/browse/SOLR-9248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15348956#comment-15348956 ] 

Gary Lee edited comment on SOLR-9248 at 6/25/16 12:42 AM:
----------------------------------------------------------

The following is a stack trace we see in the logs (note this is from 5.5, which has since changed in 5.5.1, but the same problem still occurs):
{noformat}
2016-04-26 18:50:28,066 ERROR org.apache.solr.client.solrj.impl.HttpSolrClient  - Error consuming and closing http response stream. [source:]
java.io.EOFException
        at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:268)
        at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258)
        at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164)
        at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79)
        at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91)
        at org.apache.solr.client.solrj.impl.HttpClientUtil$GzipDecompressingEntity.getContent(HttpClientUtil.java:356)
        at org.apache.http.conn.BasicManagedEntity.getContent(BasicManagedEntity.java:87)
        at org.apache.http.util.EntityUtils.consume(EntityUtils.java:86)
        at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:594)
        at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:240)
        at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:229)
        at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149)
        at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:942)
        at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:957)
        at org.apache.solr.client.solrj.impl.LBHttpSolrClient.checkAZombieServer(LBHttpSolrClient.java:596)
        at org.apache.solr.client.solrj.impl.LBHttpSolrClient.access$000(LBHttpSolrClient.java:80)
        at org.apache.solr.client.solrj.impl.LBHttpSolrClient$1.run(LBHttpSolrClient.java:671)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{noformat}


was (Author: gary.lee):
The following is a stack trace we see in the logs (note this is from 5.5, which has since changed in 5.5.1, but the same problem still occurs):
{noformat}
2016-04-26 18:50:28,066 [aliveCheckExecutor-3-thread-1 sessionId:F923573474CAEF7 nodeId:node-1 vaultId:1000019 userId:1000007 origReqUri:/ui/proxy/solr/suggestion] ERROR org.apache.solr.client.solrj.impl.HttpSolrClient  - Error consuming and closing http response stream. [source:]
java.io.EOFException
        at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:268)
        at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258)
        at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164)
        at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79)
        at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91)
        at org.apache.solr.client.solrj.impl.HttpClientUtil$GzipDecompressingEntity.getContent(HttpClientUtil.java:356)
        at org.apache.http.conn.BasicManagedEntity.getContent(BasicManagedEntity.java:87)
        at org.apache.http.util.EntityUtils.consume(EntityUtils.java:86)
        at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:594)
        at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:240)
        at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:229)
        at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149)
        at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:942)
        at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:957)
        at org.apache.solr.client.solrj.impl.LBHttpSolrClient.checkAZombieServer(LBHttpSolrClient.java:596)
        at org.apache.solr.client.solrj.impl.LBHttpSolrClient.access$000(LBHttpSolrClient.java:80)
        at org.apache.solr.client.solrj.impl.LBHttpSolrClient$1.run(LBHttpSolrClient.java:671)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{noformat}

> HttpSolrClient not compatible with compression option
> -----------------------------------------------------
>
>                 Key: SOLR-9248
>                 URL: https://issues.apache.org/jira/browse/SOLR-9248
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrJ
>    Affects Versions: 5.5, 5.5.1
>            Reporter: Gary Lee
>             Fix For: 5.5.2
>
>
> Since Solr 5.5, using the compression option (solrClient.setAllowCompression(true)) causes the HTTP client to quickly run out of connections in the connection pool. After debugging through this, we found that the GZIPInputStream is incompatible with changes to how the response input stream is closed in 5.5. It is at this point when the GZIPInputStream throws an EOFException, and while this is silently eaten up, the net effect is that the stream is never closed, leaving the connection open. After a number of requests, the pool is exhausted and no further requests can be served.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org