[ 
https://issues.apache.org/jira/browse/HDDS-1888?focusedWorklogId=290465&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-290465
 ]

ASF GitHub Bot logged work on HDDS-1888:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 07/Aug/19 13:47
            Start Date: 07/Aug/19 13:47
    Worklog Time Spent: 10m 
      Work Description: mukul1987 commented on pull request #1211: HDDS-1888. 
Add containers to node2container map in SCM as soon as a container is created.
URL: https://github.com/apache/hadoop/pull/1211#discussion_r311561367
 
 

 ##########
 File path: 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/states/NodeStateMap.java
 ##########
 @@ -224,6 +224,23 @@ public NodeState getNodeState(UUID uuid) throws 
NodeNotFoundException {
     }
   }
 
+  /**
+   * Adds the given container to the specified datanode.
+   *
+   * @param uuid - datanode uuid
+   * @param containerId - containerID
+   * @throws NodeNotFoundException - if datanode is not known. For new datanode
+   *                        use addDatanodeInContainerMap call.
+   */
+  public void addContainer(final UUID uuid,
+                           final ContainerID containerId)
+      throws NodeNotFoundException {
+    if (!nodeToContainer.containsKey(uuid)) {
+      throw new NodeNotFoundException("Node UUID: " + uuid);
+    }
+    nodeToContainer.get(uuid).add(containerId);
 
 Review comment:
   the check and get calls can race with the remove call.
   
   Also looking into the code, there is no remove call, we should remove the dn 
once it is dead ?
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 290465)
    Time Spent: 40m  (was: 0.5h)

> Add containers to node2container map in SCM as soon as a container is created
> -----------------------------------------------------------------------------
>
>                 Key: HDDS-1888
>                 URL: https://issues.apache.org/jira/browse/HDDS-1888
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>          Components: SCM
>            Reporter: Nanda kumar
>            Assignee: Nanda kumar
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> In SCM node2container and node2pipeline maps are managed by NodeManager and 
> pipeline2container map is managed by PipelineManager.
> Currently, when a container is allocated in SCM, it is added to 
> pipeline2container map and we are not adding it to node2container map. We 
> update the node2container map only when the datanode sends full container 
> report.
> When a node is marked as dead, DeadNodeHandler processes the event and it 
> gets the list of containers that are hosted by the dead datanode and updates 
> the respective container replica state in ContainerManager. The list of 
> containers on the datanode is read from node2container map, this map will be 
> missing containers which are created recently (after the last container 
> report). In such cases we not be able to remove the container replica 
> information for those containers. In reality, these containers are under 
> replicated, but SCM will never know.
> We should add containers to node2container map in SCM as soon as a container 
> is allocated.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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