Details
Description
Providing DFS API to retrieve slow nodes would help add an additional option to "dfsadmin -report" that lists slow datanodes info for operators to take a look, specifically useful filter for larger clusters.
The other purpose of such API is for HDFS downstreamers without direct access to namenode http port (only rpc port accessible) to retrieve slownodes.
Moreover, FanOutOneBlockAsyncDFSOutput in HBase currently has to rely on it's own way of marking and excluding slow nodes while 1) creating pipelines and 2) handling ack, based on factors like the data length of the packet, processing time with last ack timestamp, whether flush to replicas is finished etc. If it can utilize slownode API from HDFS to exclude nodes appropriately while writing block, a lot of it's own post-ack computation of slow nodes can be saved or improved or based on further experiment, we could find better solution to manage slow node detection logic both in HDFS and HBase. However, in order to collect more data points and run more POC around this area, HDFS should provide API for downstreamers to efficiently utilize slownode info for such critical low-latency use-case (like writing WALs).
Attachments
Issue Links
- causes
-
HDFS-17017 Fix the issue of arguments number limit in report command in DFSAdmin.
- Resolved
- relates to
-
HDFS-16582 Expose aggregate latency of slow node as perceived by the reporting node
- Resolved
-
HDFS-16595 Slow peer metrics - add median, mad and upper latency limits
- Resolved
- links to