You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2015/11/17 22:48:11 UTC
[jira] [Comment Edited] (THRIFT-3405) Go THttpClient misuses
http.Client objects
[ https://issues.apache.org/jira/browse/THRIFT-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15009603#comment-15009603 ]
Jens Geyer edited comment on THRIFT-3405 at 11/17/15 9:47 PM:
--------------------------------------------------------------
Committed, thanks!
was (Author: jensg):
Committed, thanbs!
> Go THttpClient misuses http.Client objects
> ------------------------------------------
>
> Key: THRIFT-3405
> URL: https://issues.apache.org/jira/browse/THRIFT-3405
> Project: Thrift
> Issue Type: Improvement
> Components: Go - Library
> Affects Versions: 0.9.3
> Environment: Any
> Reporter: Justin Larrabee
> Assignee: Justin Larrabee
> Fix For: 1.0
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> THttpClient:Flush creates an http.Client object every time it is called. From the Go docs regarding the use of these client objects:
> "Clients and Transports are safe for concurrent use by multiple goroutines and for efficiency should only be created once and re-used."
> I suggest that the client used by the THttpTransport default to using either the http.DefaultClient or a package scoped default client. The transport should also accept a http.Client as an optional parameter so users of the library are free to control this behavior.
> With the current implementation I have run into issues when spinning up ~1000 separate instances of the THttpClient for a load test application I have written. Switching to using a single shared http client resolved all connection issues I had.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)