Hi Mohammad, Sounds interesting! However, I don't think there is an easy path forward. The data in the heartbeat is defined by this RPC protocol:
https://github.com/apache/hadoop/blob/rel/release-3.4.1/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/DatanodeProtocol.proto#L202-L214 You're limited to these specific fields, so I don't see a way to attach additional arbitrary information. If you're feeling ambitious, you could potentially patch the protocol and the corresponding DataNode/NameNode handling code to interpret this new information. This would put you in the business of running your own distro with custom patches, which brings additional technical burdens. Alternatively, if you think you have an idea that can be generalized and broadly useful, then you could propose a feature request with an enhancement to the protocol. This would need broader community buy-in to accept the feature, but we're happy to discuss. Chris Nauroth On Thu, Dec 5, 2024 at 6:42 AM Mohammad Aghanabi <m.webs...@gmail.com> wrote: > Hello > > Is it possible to send additional data from datanode to namenode by each > heartbeat? What is the best way to do it? I need to read a few additional > pieces of data in a custom block placement policy class. > > Thanks in advance > > >