sumitagrawl commented on code in PR #8492:
URL: https://github.com/apache/ozone/pull/8492#discussion_r2121066527
##########
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 think purpose of sending full volume report is avoiding pipeline and
container creation. Now node report is throttled and hence close container is
throttled implicitly. Initial purpose was close container immediate to avoid
new block allocation for the HB time (ie 30 second).
This may be similar to sending DN HB, only advantage here is for first
failure within 1 min, its immediate, but all later failure is throttled.
for node report, there is a new configuration at SCM discovered to avoid new
container allocation, `"hdds.datanode.storage.utilization.critical.threshold"`.
We need recheck overall target of problem to solve and optimize configuration /
fix inconsistency.
cc: @ChenSammi
--
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]