sumitagrawl commented on code in PR #8492:
URL: https://github.com/apache/ozone/pull/8492#discussion_r2115867372
##########
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/HddsDispatcher.java:
##########
@@ -435,6 +453,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();
+ boolean isFirstTrigger = last == -1;
+ boolean allowedToTrigger = (current -
fullVolumeHeartbeatThrottleIntervalMs) >= last;
+ if (isFirstTrigger || allowedToTrigger) {
+ if (fullVolumeLastHeartbeatTriggerMs.compareAndSet(last, current)) {
+ StorageContainerDatanodeProtocolProtos.NodeReportProto nodeReport;
+ try {
+ nodeReport = context.getParent().getContainer().getNodeReport();
Review Comment:
we can extract this out as sendNodeReport(), can be used by others
--
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]