You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Samuel García Martínez (Jira)" <ji...@apache.org> on 2020/05/02 10:32:00 UTC

[jira] [Updated] (SOLR-14457) SolrClient leaks a connection forever when an unexpected/malformed Entity is received

     [ https://issues.apache.org/jira/browse/SOLR-14457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Samuel García Martínez updated SOLR-14457:
------------------------------------------
    Description: 
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.

If Solr (for whatever reason) or any intermediate networking piece (firewall, proxy, load balancer) messes up the response, SolrJ tries to release the connection but GzipDecompressingEntity#getContent fails with an IOException("Not in GZIP format"), making it impossible to release the connection.

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.

  was:
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.

If Solr (for whatever reason) or any intermediate networking piece (firewall, proxy, load balancer) messes up the response, SolrJ tries to release the connection but GzipDecompressingEntity#getContent fails with an IOException("Not in GZIP format"), making it impossible to release the connection.


> SolrClient leaks a connection forever when an unexpected/malformed Entity is received
> -------------------------------------------------------------------------------------
>
>                 Key: SOLR-14457
>                 URL: https://issues.apache.org/jira/browse/SOLR-14457
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          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
>
> 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.
> If Solr (for whatever reason) or any intermediate networking piece (firewall, proxy, load balancer) messes up the response, SolrJ tries to release the connection but GzipDecompressingEntity#getContent fails with an IOException("Not in GZIP format"), making it impossible to release the connection.
> 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org