This is an automated email from the ASF dual-hosted git repository.
Gargi-jais11 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new da0a3844781 HDDS-15337. Catch all exception during container move in
DiskBalancerTask (#10322).
da0a3844781 is described below
commit da0a38447813bd353ab9ff68608a0d268d4e56de
Author: Sammi Chen <[email protected]>
AuthorDate: Thu May 21 14:15:54 2026 +0800
HDDS-15337. Catch all exception during container move in DiskBalancerTask
(#10322).
---
.../hadoop/ozone/container/diskbalancer/DiskBalancerService.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerService.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerService.java
index 1d065024dfb..70d3e8598d4 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerService.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerService.java
@@ -508,7 +508,7 @@ protected class DiskBalancerTask implements BackgroundTask {
@Override
public BackgroundTaskResult call() {
long startTime = Time.monotonicNow();
- boolean moveSucceeded = true;
+ boolean moveSucceeded = false;
Container newContainer = null;
long containerId = containerData.getContainerID();
Container container =
ozoneContainer.getContainerSet().getContainer(containerId);
@@ -530,7 +530,6 @@ public BackgroundTaskResult call() {
State containerState = container.getContainerData().getState();
if (!movableContainerStates.contains(containerState)) {
LOG.warn("Container {} is in {} state, skipping move process.",
containerId, containerState);
- moveSucceeded = false;
return BackgroundTaskResult.EmptyTaskResult.newResult();
}
@@ -595,6 +594,7 @@ public BackgroundTaskResult call() {
pauseInjector();
// Mark old container as DELETED and persist state.
// markContainerForDelete require writeLock, so release readLock first
+ moveSucceeded = true;
container.readUnlock();
readLockReleased = true;
try {
@@ -609,9 +609,8 @@ public BackgroundTaskResult call() {
balancedBytesInLastWindow.addAndGet(containerSize);
metrics.incrSuccessBytes(containerSize);
totalBalancedBytes.addAndGet(containerSize);
- } catch (IOException e) {
+ } catch (Throwable e) {
pauseInjector();
- moveSucceeded = false;
LOG.warn("Failed to move container {}", containerId, e);
if (diskBalancerTmpDir != null) {
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]