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

Houston Putman commented on SOLR-14457:
---------------------------------------

[~samuelgmartinez] & [~roger.lehmann] I have a patch up that should fix this. 
Let me know what y'all think and/or if it works for you when you test it out.

> SolrClient leaks connections on compressed responses if the response is 
> malformed
> ---------------------------------------------------------------------------------
>
>                 Key: SOLR-14457
>                 URL: https://issues.apache.org/jira/browse/SOLR-14457
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrJ
>    Affects Versions: 7.7.2
>         Environment: Solr version: 7.7.2
> Solr cloud enabled
> Cluster topology: 6 nodes, 1 single collection, 10 shards and 3 replicas. 1 
> HTTP LB using
> Round Robin over all nodes
> All cluster nodes have gzip enabled for all paths, all HTTP verbs and all 
> MIME types.
> Solr client: HttpSolrClient targeting the HTTP LB
>            Reporter: Samuel García Martínez
>            Priority: Major
>         Attachments: content-gzipped.png, multiple-wrapped-entities.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Summary
> When the SolrJ receives a malformed response Entity, for example like the one 
> described in SOLR-14456, the client leaks the connection forever as it's 
> never released back to the pool.
> h3. Problem description
> HttpSolrClient should have compression enabled, so it uses the compression 
> interceptors.
> When the request is marked with "Content-Encoding: gzip" but for whatever 
> reason the response is not in GZIP format, when  HttpSolrClient tries to 
> close the connection using Utils.consumeFully(), it tries to create the 
> GzipInputStream failing and throwing an Exception. The exception thrown makes 
> it impossible to access the underlying InputStream to be closed, therefore 
> the connection is leaked.
> Despite that the content in the response should honour the headers specified 
> for it, SolrJ should be reliable enough to prevent the connection leak when 
> this scenario happens. On top of the bug itself, not being able to set a 
> timeout while waiting for a connection to be available, makes any application 
> unresponsive as it will run out of threads eventually.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to