[
https://issues.apache.org/jira/browse/HDDS-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16578607#comment-16578607
]
Elek, Marton commented on HDDS-325:
-----------------------------------
Thank you the clarification [~ljain]. Let me summarize the goals (and fix me if
my understanding is wrong):
1. You would like to use two different event_type/topics. If the event is sent
to the SCMEvents.DATANODE_COMMAND, the message will be sent to the datanode and
the retry logic should be implemented manually and an additional message should
be sent to an event watcher.
2. If the message is sent to the SCMEvents.RETRIABLE_DATANODE_COMMAND the
message will be sent to the datanode AND the retry will be handled
automatically.
If this is the situation: I like the idea but I don't think that we need to
implement a RetriableCompletionPayload for that. I think it could be
implemented with a more simple way.
As I wrote I prefer to keep the messaging logic out from the message payload.
Message payload is just a collection of the data and I can't see any reason to
put more logic to there. Even in your patch you can put the retry logic to
RetriableEventWatcher.onTimeout method.
The method payload type and the event type is separated. It's very easy to
create a RetriableEventWatcher which listens on the
SCMEvents.RETRIABLE_DATANODE_COMMAND but can receive exactly the same message
as the SCMEvents.DATANODE_COMMAND. (It also could help to switch between the
two approach).
I think currently we use a generic SCMEvents.DATANODE_COMMAND for all the
datanode commands. So we don't need to make the EventWatcher more complex with
adding a Set to it. If in the future we will switch to handle all the different
datanode commands with different event type we can easily instantiate multiple
RetriableEventWatcher. With this approach we can monitor the different type of
events easily and the implementation could be more easy (IMHO).
Does it make sense?
> Add event watcher for delete blocks command
> -------------------------------------------
>
> Key: HDDS-325
> URL: https://issues.apache.org/jira/browse/HDDS-325
> Project: Hadoop Distributed Data Store
> Issue Type: Bug
> Components: Ozone Datanode, SCM
> Reporter: Lokesh Jain
> Assignee: Lokesh Jain
> Priority: Major
> Fix For: 0.2.1
>
> Attachments: HDDS-325.001.patch, HDDS-325.002.patch,
> HDDS-325.003.patch
>
>
> This Jira aims to add watcher for deleteBlocks command. It removes the
> current rpc call required for datanode to send the acknowledgement for
> deleteBlocks.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]