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]