diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/utils/InputSubstream.java b/hadoop-hdds/test-utils/src/test/java/org/apache/ozone/test/InputSubstream.java similarity index 96% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/utils/InputSubstream.java rename to hadoop-hdds/test-utils/src/test/java/org/apache/ozone/test/InputSubstream.java index e71689b9ac74..3c7b73aa9358 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/utils/InputSubstream.java +++ b/hadoop-hdds/test-utils/src/test/java/org/apache/ozone/test/InputSubstream.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.hadoop.utils; +package org.apache.ozone.test; -import com.google.common.base.Preconditions; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; +import java.util.Objects; /** * A filter input stream implementation that exposes a range of the underlying input stream. @@ -33,8 +33,7 @@ public class InputSubstream extends FilterInputStream { private long markedPosition = 0; public InputSubstream(InputStream in, long skip, long length) { - super(in); - Preconditions.checkNotNull(in); + super(Objects.requireNonNull(in, "in == null")); this.currentPosition = 0; this.requestedSkipOffset = skip; this.requestedLength = length; diff --git a/hadoop-ozone/dev-support/checks/_mvn_unit_report.sh b/hadoop-ozone/dev-support/checks/_mvn_unit_report.sh index 4d27d5072874..8136e6ea806c 100755 --- a/hadoop-ozone/dev-support/checks/_mvn_unit_report.sh +++ b/hadoop-ozone/dev-support/checks/_mvn_unit_report.sh @@ -38,7 +38,7 @@ cat ${failures} > "${tempfile}" leaks=${REPORT_DIR}/leaks.txt if [[ "${CHECK:-unit}" == "integration" ]]; then - find hadoop-ozone/integration-test -not -path '*/iteration*' -name '*-output.txt' -print0 \ + find hadoop-ozone/integration-test* -not -path '*/iteration*' -name '*-output.txt' -print0 \ | xargs -n1 -0 "grep" -l -E "not closed properly|was not shutdown properly" \ | awk -F/ '{sub("-output.txt",""); print $NF}' \ > "${leaks}" @@ -47,7 +47,7 @@ fi cluster=${REPORT_DIR}/cluster-startup-errors.txt if [[ "${CHECK:-unit}" == "integration" ]]; then - find hadoop-ozone/integration-test -not -path '*/iteration*' -name '*-output.txt' -print0 \ + find hadoop-ozone/integration-test* -not -path '*/iteration*' -name '*-output.txt' -print0 \ | xargs -n1 -0 "grep" -l -E "Unable to build MiniOzoneCluster" \ | awk -F/ '{sub("-output.txt",""); print $NF}' \ > "${cluster}" diff --git a/hadoop-ozone/dev-support/checks/unit.sh b/hadoop-ozone/dev-support/checks/unit.sh index 09f45795fefa..f4a0a834d1bc 100755 --- a/hadoop-ozone/dev-support/checks/unit.sh +++ b/hadoop-ozone/dev-support/checks/unit.sh @@ -17,5 +17,5 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" CHECK=unit source "${DIR}/junit.sh" \ - -pl \!:ozone-integration-test,\!:mini-chaos-tests \ + -pl \!:ozone-integration-test,\!:ozone-integration-test-s3,\!:mini-chaos-tests \ "$@" diff --git a/hadoop-ozone/integration-test-s3/dev-support/findbugsExcludeFile.xml b/hadoop-ozone/integration-test-s3/dev-support/findbugsExcludeFile.xml new file mode 100644 index 000000000000..ee5ed59808bf --- /dev/null +++ b/hadoop-ozone/integration-test-s3/dev-support/findbugsExcludeFile.xml @@ -0,0 +1,16 @@ + + + + diff --git a/hadoop-ozone/integration-test-s3/pom.xml b/hadoop-ozone/integration-test-s3/pom.xml new file mode 100644 index 000000000000..b23d389ef80a --- /dev/null +++ b/hadoop-ozone/integration-test-s3/pom.xml @@ -0,0 +1,121 @@ + + + + 4.0.0 + + org.apache.ozone + ozone + 2.1.0-SNAPSHOT + + ozone-integration-test-s3 + 2.1.0-SNAPSHOT + jar + Apache Ozone S3 Integration Tests + Apache Ozone Integration Tests with S3 Gateway + + + + com.amazonaws + aws-java-sdk-core + test + + + com.amazonaws + aws-java-sdk-s3 + test + + + jakarta.xml.bind + jakarta.xml.bind-api + test + + + org.apache.commons + commons-lang3 + test + + + org.apache.ozone + hdds-common + test + + + org.apache.ozone + hdds-config + test + + + org.apache.ozone + hdds-server-framework + test + + + org.apache.ozone + hdds-test-utils + test-jar + test + + + org.apache.ozone + ozone-client + test + + + org.apache.ozone + ozone-mini-cluster + test + + + org.apache.ozone + ozone-s3gateway + test + + + org.apache.ratis + ratis-common + test + + + org.slf4j + slf4j-api + test + + + software.amazon.awssdk + s3 + test + + + + + + + com.github.spotbugs + spotbugs-maven-plugin + + ${basedir}/dev-support/findbugsExcludeFile.xml + + + + org.apache.maven.plugins + maven-compiler-plugin + + none + + + + + + diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/S3ClientFactory.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/S3ClientFactory.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/S3ClientFactory.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/S3ClientFactory.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/S3GatewayService.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/S3GatewayService.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/S3GatewayService.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/S3GatewayService.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/S3SDKTestUtils.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/S3SDKTestUtils.java similarity index 98% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/S3SDKTestUtils.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/S3SDKTestUtils.java index 6703e4bbc477..33b7788e6960 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/S3SDKTestUtils.java +++ b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/S3SDKTestUtils.java @@ -23,7 +23,7 @@ import java.io.RandomAccessFile; import java.security.MessageDigest; import org.apache.commons.lang3.RandomUtils; -import org.apache.hadoop.utils.InputSubstream; +import org.apache.ozone.test.InputSubstream; /** * Utilities for S3 SDK tests. diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/AbstractS3SDKV1Tests.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/AbstractS3SDKV1Tests.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/AbstractS3SDKV1Tests.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/AbstractS3SDKV1Tests.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1WithRatisStreaming.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1WithRatisStreaming.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1WithRatisStreaming.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v1/TestS3SDKV1WithRatisStreaming.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/AbstractS3SDKV2Tests.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/AbstractS3SDKV2Tests.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/AbstractS3SDKV2Tests.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/AbstractS3SDKV2Tests.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2.java diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2WithRatisStreaming.java b/hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2WithRatisStreaming.java similarity index 100% rename from hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2WithRatisStreaming.java rename to hadoop-ozone/integration-test-s3/src/test/java/org/apache/hadoop/ozone/s3/awssdk/v2/TestS3SDKV2WithRatisStreaming.java diff --git a/hadoop-ozone/integration-test-s3/src/test/resources/ozone-site.xml b/hadoop-ozone/integration-test-s3/src/test/resources/ozone-site.xml new file mode 100644 index 000000000000..2354b6f321cb --- /dev/null +++ b/hadoop-ozone/integration-test-s3/src/test/resources/ozone-site.xml @@ -0,0 +1,126 @@ + + + + + + + + + + ozone.om.transport.class + org.apache.hadoop.ozone.om.protocolPB.Hadoop3OmTransportFactory + + + + ozone.om.s3.grpc.server_enabled + false + + + + hdds.container.ratis.num.write.chunk.threads.per.volume + 4 + + + + ozone.scm.handler.count.key + 20 + + + + ozone.om.handler.count.key + 20 + + + + hdds.container.ratis.datastream.enabled + true + + + + + hdds.heartbeat.interval + 1s + + + ozone.scm.heartbeat.thread.interval + 100ms + + + + ozone.scm.ratis.pipeline.limit + 3 + + + + ozone.scm.close.container.wait.duration + 1s + + + + ozone.om.snapshot.diff.job.default.wait.time + 1s + + + + hdds.container.ratis.log.appender.queue.byte-limit + + 32MB + + + ozone.om.ratis.log.appender.queue.byte-limit + 4MB + + + ozone.scm.ha.ratis.log.appender.queue.byte-limit + 4MB + + + + ozone.scm.chunk.size + 1MB + + + ozone.scm.block.size + 4MB + + + ozone.client.stream.buffer.flush.size + 1MB + + + ozone.client.stream.buffer.max.size + 2MB + + + ozone.client.stream.buffer.size + 1MB + + + ozone.client.datastream.buffer.flush.size + 4MB + + + ozone.client.datastream.min.packet.size + 256KB + + + ozone.client.datastream.window.size + 8MB + + + diff --git a/hadoop-ozone/integration-test/pom.xml b/hadoop-ozone/integration-test/pom.xml index bbd06127c645..ff899d4e0b99 100644 --- a/hadoop-ozone/integration-test/pom.xml +++ b/hadoop-ozone/integration-test/pom.xml @@ -286,11 +286,6 @@ ozone-mini-cluster test - - software.amazon.awssdk - s3 - test - diff --git a/hadoop-ozone/pom.xml b/hadoop-ozone/pom.xml index 69cfcf48205c..7298e26ec68d 100644 --- a/hadoop-ozone/pom.xml +++ b/hadoop-ozone/pom.xml @@ -35,6 +35,7 @@ httpfsgateway insight integration-test + integration-test-s3 interface-client interface-storage mini-cluster @@ -147,6 +148,12 @@ hdds-server-framework ${hdds.version} + + org.apache.ozone + hdds-server-framework + ${hdds.version} + test-jar + org.apache.ozone hdds-server-scm