Skip to content

Conversation

@jdcasey
Copy link
Member

@jdcasey jdcasey commented May 30, 2017

Previously we had a TrackedHttpClient wrapper class that would keep track of
requests / responses used by the client. When you closed the client, it would
go through all associated resources that were still available (not GCed) and
close them too. However, TrackedHttpClient had some extra delegate methods that
caused it to circumvent the resource tracking in most cases. This has been fixed.

Also, in some cases where servers responded with nonsensical / invalid data, the
default response parser would hang. This would eventually cause connection pool
timeouts, since all connections would be stuck trying to parse garbage responses.
I've updated the response parser in use by our client to be less eager to make
order out of noise. This should allow garbage responses to throw an error, and
avoid locking up the system.

jdcasey added 2 commits May 30, 2017 16:05
…king

Previously we had a TrackedHttpClient wrapper class that would keep track of
requests / responses used by the client. When you closed the client, it would
go through all associated resources that were still available (not GCed) and
close them too. However, TrackedHttpClient had some extra delegate methods that
caused it to circumvent the resource tracking in most cases. This has been fixed.

Also, in some cases where servers responded with nonsensical / invalid data, the
default response parser would hang. This would eventually cause connection pool
timeouts, since all connections would be stuck trying to parse garbage responses.
I've updated the response parser in use by our client to be less eager to make
order out of noise. This should allow garbage responses to throw an error, and
avoid locking up the system.
@jdcasey jdcasey merged commit ccecb60 into Commonjava:master May 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant