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
>
>
>

Reply via email to