This is an automated email from the ASF dual-hosted git repository.

adoroszlai 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 8f7fbbb26c5 HDDS-15225. Fix BlockDataStreamOutput.hsync() exception 
handling (#11143)
8f7fbbb26c5 is described below

commit 8f7fbbb26c5d3363ef47ee92b9679297e8ab0d88
Author: len548 <[email protected]>
AuthorDate: Sat Sep 19 00:24:20 2026 +0900

    HDDS-15225. Fix BlockDataStreamOutput.hsync() exception handling (#11143)
---
 .../org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java | 7 +++++--
 .../apache/hadoop/hdds/scm/storage/TestBlockDataStreamOutput.java | 8 ++++----
 .../apache/hadoop/ozone/client/io/TestKeyDataStreamOutput.java    | 2 +-
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git 
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
 
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
index e3fff7528d4..ae07ee09ca5 100644
--- 
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
+++ 
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
@@ -541,8 +541,11 @@ public void hsync() throws IOException {
       if (!isClosed()) {
         handleFlush(false);
       }
-    } catch (Exception e) {
-
+    } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
+      handleInterruptedException(e, false);
+    } catch (ExecutionException e) {
+      handleExecutionException(e);
     }
   }
 
diff --git 
a/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockDataStreamOutput.java
 
b/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockDataStreamOutput.java
index 8f51e3c9a41..a45032edcee 100644
--- 
a/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockDataStreamOutput.java
+++ 
b/hadoop-hdds/client/src/test/java/org/apache/hadoop/hdds/scm/storage/TestBlockDataStreamOutput.java
@@ -159,7 +159,7 @@ void hsyncFlushesAndWaitsForCommit() throws Exception {
     }
   }
 
-  //@Test - skipped as it fails now.
+  @Test
   void hsyncPropagatesIOException() throws Exception {
     MockDatanodePipeline pipeline = new MockDatanodePipeline();
     // Fail the first putBlock
@@ -171,10 +171,10 @@ void hsyncPropagatesIOException() throws Exception {
 
     // hsync should propagate the IOException from the failed putBlock
     assertThrows(IOException.class, stream::hsync, "hsync() must propagate 
IOException from failed putBlock");
-    stream.close();
+    assertThrows(IOException.class, stream::close);
   }
 
-  //@Test - skipped as it fails now
+  @Test
   void hsyncPropagatesWatchFailure() throws Exception {
     MockDatanodePipeline pipeline = new MockDatanodePipeline();
     // Fail the first watchForCommit
@@ -187,7 +187,7 @@ void hsyncPropagatesWatchFailure() throws Exception {
 
     // hsync should propagate the watch failure
     assertThrows(IOException.class, stream::hsync, "hsync() must propagate 
IOException from failed watchForCommit");
-    stream.close();
+    assertThrows(IOException.class, stream::close);
   }
 
   @Test
diff --git 
a/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/io/TestKeyDataStreamOutput.java
 
b/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/io/TestKeyDataStreamOutput.java
index 4295c853c96..0900c70584f 100644
--- 
a/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/io/TestKeyDataStreamOutput.java
+++ 
b/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/io/TestKeyDataStreamOutput.java
@@ -227,7 +227,7 @@ void hsyncCallsOmHsyncKey() throws Exception {
     }
   }
 
-//  @Test - skipped as it fails now
+  @Test
   void hsyncWithBlockErrorDoesNotCallOmHsync() throws Exception {
     MockDatanodePipeline pipeline = new MockDatanodePipeline();
     // First putBlock will fail


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

Reply via email to