Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
Description
We should do transfers of map outputs at the granularity of total-bytes-transferred rather than the current way of transferring a single file and then closing the connection to the server. A single TaskTracker might have a couple of map output files for a given reduce, and we should transfer multiple of them (upto a certain total size) in a single connection to the TaskTracker. Using HTTP-1.1's keep-alive connection would help since it would keep the connection open for more than one file transfer. We should limit the transfers to a certain size so that we don't hold up a jetty thread indefinitely (and cause timeouts for other clients).
Overall, this should give us improved performance.
Attachments
Attachments
Issue Links
- is cloned by
-
HADOOP-3656 fetcher should re-use connection when it needs to fetch multiple segments from the same task tracker
- Closed