[ 
https://issues.apache.org/jira/browse/HDDS-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16550734#comment-16550734
 ] 

Elek, Marton commented on HDDS-199:
-----------------------------------

{quote}

Shall we rename {{SCMEvents.REPLICATION_COMPLETE}} to something like 
{{REPLICATION_STATUS}}. Also we might have to override default logic of 
EventWatcher as this replication status object might have 3 possible status 
(i.e PENDING, EXECUTED, FAILED). Default method in EventWatcher only handles 
EXECUTED.

{quote}

Good question [~ajayydv]. I would address it in a different jira as this patch 
became just bigger and bigger. 
 # Currently the EventWatcher is listening on one completion event not 
filtering status event.
 # It could be modified but in that case I would also rename the 
EventWatcher.completionEvent field and maybe modify the structure (this is the 
reason why I prefer to do it in a separated task, It's more like an 
EventWatcher adjustment)
 # An other option is to modify the SCMDatanodeHeartbeatDispatcher to send 
different internal events based on the status of the CommandStatusReport. One 
big advantage of this approach that the different type of results (failed 
closing, executed closing) will be visible on the EventQueue monitoring 
interface (eg. number of failed closing events instead of number of command 
status report)

 

> Implement ReplicationManager to handle underreplication of closed containers
> ----------------------------------------------------------------------------
>
>                 Key: HDDS-199
>                 URL: https://issues.apache.org/jira/browse/HDDS-199
>             Project: Hadoop Distributed Data Store
>          Issue Type: Improvement
>          Components: SCM
>            Reporter: Elek, Marton
>            Assignee: Elek, Marton
>            Priority: Major
>             Fix For: 0.2.1
>
>         Attachments: HDDS-199.001.patch, HDDS-199.002.patch, 
> HDDS-199.003.patch, HDDS-199.004.patch, HDDS-199.005.patch, 
> HDDS-199.006.patch, HDDS-199.007.patch, HDDS-199.008.patch, 
> HDDS-199.009.patch, HDDS-199.010.patch, HDDS-199.011.patch, HDDS-199.012.patch
>
>
> HDDS/Ozone supports Open and Closed containers. In case of specific 
> conditions (container is full, node is failed) the container will be closed 
> and will be replicated in a different way. The replication of Open containers 
> are handled with Ratis and PipelineManger.
> The ReplicationManager should handle the replication of the ClosedContainers. 
> The replication information will be sent as an event 
> (UnderReplicated/OverReplicated). 
> The Replication manager will collect all of the events in a priority queue 
> (to replicate first the containers where more replica is missing) calculate 
> the destination datanode (first with a very simple algorithm, later with 
> calculating scatter-width) and send the Copy/Delete container to the datanode 
> (CommandQueue).
> A CopyCommandWatcher/DeleteCommandWatcher are also included to retry the 
> copy/delete in case of failure. This is an in-memory structure (based on 
> HDDS-195) which can requeue the underreplicated/overreplicated events to the 
> prioirity queue unless the confirmation of the copy/delete command is arrived.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to