diff --git a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java index de0f59154e995..5fe39ac6ea336 100644 --- a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java +++ b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java @@ -1100,7 +1100,8 @@ private static class ProgressableListener implements ProgressListener { this.progress = progress; } - public void progressChanged(ProgressListenerEvent eventType, int bytesTransferred) { + @Override + public void progressChanged(ProgressListenerEvent eventType, long bytesTransferred) { if (progress != null) { progress.progress(); } diff --git a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/performance/ITestCreateFileCost.java b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/performance/ITestCreateFileCost.java index c9a7415c18103..5bd4bf412ffa5 100644 --- a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/performance/ITestCreateFileCost.java +++ b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/performance/ITestCreateFileCost.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.util.Arrays; import java.util.Collection; +import java.util.concurrent.atomic.AtomicLong; import org.assertj.core.api.Assertions; import org.junit.Test; @@ -213,8 +214,11 @@ public void testCreateFilePerformanceFlag() throws Throwable { S3AFileSystem fs = getFileSystem(); Path path = methodPath(); + // increment progress events + AtomicLong progressEvents = new AtomicLong(0); FSDataOutputStreamBuilder builder = fs.createFile(path) .overwrite(false) + .progress(progressEvents::incrementAndGet) .recursive(); // this has a broken return type; something to do with the return value of @@ -225,6 +229,10 @@ public void testCreateFilePerformanceFlag() throws Throwable { always(NO_HEAD_OR_LIST), with(OBJECT_BULK_DELETE_REQUEST, 0), with(OBJECT_DELETE_REQUEST, 0)); + + Assertions.assertThat(progressEvents.get()) + .describedAs("progress events") + .isGreaterThanOrEqualTo(1); } @Test