Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
Currently, the DataTransfer thread has no name and it just outputs the default toString().
This shows in the logs in jstack as something like:
2019-06-25 11:01:01,211 INFO [org.apache.hadoop.hdfs.server.datanode.DataNode$DataTransfer@609ed67a] org.apache.hadoop.hdfs.server.datanode.DataNode: DataTransfer, at CO4AEAP0000C1AF:10010: Transmitted BP-1191059133-10.1.2.3-1458888702348:blk_1113379522_69745835 (numBytes=485214) to 10.1.2.3/10.1.2.3:10010
As this uses the Daemon class, the name is set based on:
public Daemon(Runnable runnable) { super(runnable); this.runnable = runnable; this.setName(((Object)runnable).toString()); }
We should implement toString to at least have the name of the block being transfferred or something similar to what DataXceiver does (e.g., HDFS-3375).
Attachments
Attachments
Issue Links
- is related to
-
HDFS-3375 Put client name in DataXceiver thread name for readBlock and keepalive
- Closed