Closed Bug 1141254 Opened 10 years ago Closed 10 years ago

node client: Implement socket level timeouts and pooling

Categories

(Taskcluster :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jlal, Assigned: jlal)

References

Details

Node has a number of underlying capabilities to change the behavior of http requests in error conditions and in cases with many requests (connection pools/keep alive). We use superagent which by default turns off the use of agents (https://github.com/visionmedia/superagent/blob/608cda651db3ac1559a604032878bae3ac16efd7/lib/node/index.js#L233) and has no timeouts. This can cause some issues when attempting to run many requests (you end up with unbounded number of open connections which then take forever to timeout...). The intent here is to fix this by: - adding a default timeout of 30s for all client http requests - use an agent (https://nodejs.org/api/http.html#http_class_http_agent) of the correct http/https type (based on base url) with a default number of allowed open sockets (10 per domain?)
Blocks: 1141250
Assignee: nobody → jlal
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Component: TaskCluster → General
Product: Testing → Taskcluster
Target Milestone: --- → mozilla41
Version: unspecified → Trunk
Resetting Version and Target Milestone that accidentally got changed...
Target Milestone: mozilla41 → ---
Version: Trunk → unspecified
You need to log in before you can comment on or make changes to this bug.