ChenSammi commented on code in PR #8492:
URL: https://github.com/apache/ozone/pull/8492#discussion_r2115423380


##########
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/HddsDispatcher.java:
##########
@@ -435,6 +451,37 @@ && getMissingContainerSet().contains(containerID)) {
     }
   }
 
+  /**
+   * If the volume is full, we need to inform SCM about the latest volume 
usage stats and send the close container
+   * action for this container immediately. {@link 
HddsDispatcher#sendCloseContainerActionIfNeeded(Container, boolean)}
+   * just adds the action to the heartbeat. Here, we get the latest storage 
statistics for this node, add them to the
+   * heartbeat, and then send the heartbeat (including container close action) 
immediately.
+   * @param volume the volume being written to
+   */
+  private void handleFullVolume(HddsVolume volume) throws 
StorageContainerException {
+    long current = System.currentTimeMillis();
+    long last = fullVolumeLastHeartbeatTriggerMs.get();

Review Comment:
   I don't have a good answer for this after thought for a while. The ideal 
state is if we want to send immediate heartbeat when one volume is full, we 
should respect each volume, send a heartbeat for each volume when it's full, 
but consider the complexity introduced to achieve that, I just doubt whether 
it's worthy to do that. 
   
   Because except the heartbeat sent here, there are regular node reports with 
storage info sent every 60s.  If we only sent one report regardless of which 
volume, them probably we only need to sent the first one, and let the regular 
periodic node reports do the rest thing. 



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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to