Justin Larrabee created THRIFT-3405: ---------------------------------------
Summary: 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 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)