[
https://issues.apache.org/jira/browse/HDDS-15937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Siyao Meng updated HDDS-15937:
------------------------------
Description:
h3. Goal
Verify that Ozone 2.2.0 with RocksDB 7.7.3 can reopen and read the same OM
database after Ozone 2.3.0 with RocksDB 10.10.1.1 has written and compacted new
SST files. The new SSTs must remain at block-based table format_version 5 so
rollback to 2.2.0 remains compatible.
h3. Test command
{code:java}
run_test ha non-rolling-upgrade 2.2.0 2.3.0
{code}
h3. Test scenario
# Start the HA cluster on Ozone 2.2.0, verify it is finalized, and create the
baseline upgrade dataset.
# Restart the same cluster and data directories on Ozone 2.3.0 with --upgrade.
Do not invoke the explicit finalization step before downgrade. Since 2.3.0
introduces no new OM or HDDS layout feature after 2.2.0, OM and SCM already
report finalized; this exercises rollback across the binary and RocksDB version
change rather than rollback with a pending layout finalization.
# While running 2.3.0, create a dedicated OBS volume and bucket and perform
three rounds of writes. Each round writes 2,000 keys and forces keyTable
compaction on om1, om2, and om3. Inventory newly created SST files, copy them
to the test results, inspect their table properties, and require format_version
5. Require at least one newly created OM SST. Newly observed SCM and datanode
SSTs are checked opportunistically.
# Stop 2.3.0 and restart the same data directories on Ozone 2.2.0 with
--downgrade. Validate the common datasets written under 2.3.0 and read
format-round-3/0, written during the final 2.3.0 compaction round. Require the
downloaded key to be non-empty.
# Restart 2.3.0, run the normal explicit finalization phase, and complete the
common upgrade validations.
h3. Success criteria
* Compaction completes successfully on all three OMs in all three rounds.
* Every newly observed SST reports format_version 5.
* At least one new OM SST is observed.
* Ozone 2.2.0 with RocksDB 7.7.3 starts successfully against the database
previously used by 2.3.0.
* The downgraded 2.2.0 cluster reads both the normal upgrade datasets and
format-round-3/0.
* The complete HA non-rolling-upgrade test passes.
h3. Evidence from the ad-hoc validation
* +Nine new OM SST files were observed across three compaction rounds; all
reported format_version 5.+
* +After downgrade, Ozone 2.2.0 successfully read format-round-3/0.+
* The complete Robot Framework run finished with 77 passed, 0 failed.
h3. Proof boundary
This is an end-to-end database reopen and data-read test: RocksDB 7.7.3 starts
against the same database after RocksDB 10.10.1.1 wrote and compacted SSTs,
then serves data written by 2.3.0. The format inspector reads each copied SST
with RocksDB 10.10.1.1 to verify format_version 5. The test does not separately
open every copied SST with RocksDB 7.7.3, and it does not map format-round-3/0
to one specific inspected SST.
h3. Reproducing the validation
The attached [^HDDS-15937-rocksdb-rollback-validation.patch] is the output of
git diff --cached --binary for the ad-hoc validation changes. It is based on
HDDS-15769 ([PR #10836|https://github.com/apache/ozone/pull/10836]), which adds
the preceding upgrade callbacks and test-matrix context. Apply PR #10836 first;
the attached patch is not intended to apply directly to asf/master without that
prerequisite.
Attachment SHA-256:
{noformat}
8743eed9d4f51295532a153230c79f6a03203287767af18a4c44c8d17801d5cf{noformat}
h4. Apply the prerequisite and validation patch
Start from a clean checkout of the desired asf/master revision. Download the
attached patch from this Jira, then run:
{code:bash}
git status --short
curl -L https://github.com/apache/ozone/pull/10836.diff | git apply -
git apply --check /path/to/HDDS-15937-rocksdb-rollback-validation.patch
git apply /path/to/HDDS-15937-rocksdb-rollback-validation.patch
{code}
h4. Build and run
Docker with Compose must be available. Use JDK 21. The exact ad-hoc validation
used a locally built
{code:java}
apache/ozone:2.3.0-rocky{code}
binary image containing the latest
{code:java}
asf/master{code}
binaries. The test invocation below deliberately resets
{code:java}
OZONE_CURRENT_VERSION=src{code}
after loading the generated test library; this makes the explicit target
{code:java}
2.3.0{code}
select the binary image instead of the local
{code:java}
apache/ozone-runner{code}
path.
Both
{code:java}
apache/ozone:2.2.0-rocky{code}
and
{code:java}
apache/ozone:2.3.0-rocky{code}
must exist locally before running the exact binary-image test. The following
builds the 2.3.0 image from the same latest-master checkout to which PR #10836
and the attached validation patch were applied. Prepare the 2.2.0 image
separately if it is not already present.
{code:bash}
export JAVA_HOME=/path/to/jdk-21
export PATH="$JAVA_HOME/bin:$PATH"
mvn -q dependency:get -Dartifact=org.rocksdb:rocksdbjni:10.10.1.1
mvn -Pdist -DskipTests package
MASTER_REV=$(git rev-parse HEAD)
DOCKER_CONTEXT=$(mktemp -d)
git clone https://github.com/apache/ozone-docker.git "$DOCKER_CONTEXT"
git -C "$DOCKER_CONTEXT" checkout 6d91ca5a3d9a8ff68227854938526f3a6cbccc6c
cp hadoop-ozone/dist/target/ozone-2.3.0-SNAPSHOT.tar.gz "$DOCKER_CONTEXT"/
git -C "$DOCKER_CONTEXT" apply <<'PATCH'
diff --git a/Dockerfile b/Dockerfile
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,10 +16,8 @@
ARG OZONE_RUNNER_VERSION=20260626-1-jdk21
FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
-ARG OZONE_VERSION=2.1.1
-ARG
OZONE_URL="https://www.apache.org/dyn/closer.lua?action=download&filename=ozone/${OZONE_VERSION}/ozone-${OZONE_VERSION}.tar.gz"
-
WORKDIR /opt
-RUN sudo rm -rf /opt/hadoop && curl -LSs -o ozone.tar.gz $OZONE_URL && tar zxf
ozone.tar.gz && rm ozone.tar.gz && mv ozone* hadoop
+COPY ozone-2.3.0-SNAPSHOT.tar.gz ozone.tar.gz
+RUN sudo rm -rf /opt/hadoop && tar zxf ozone.tar.gz && rm ozone.tar.gz && mv
ozone-* hadoop
WORKDIR /opt/hadoop
PATCH
docker build \
--build-arg OZONE_RUNNER_VERSION=20260626-1-jdk25 \
--label "org.opencontainers.image.revision=$MASTER_REV" \
-t apache/ozone:2.3.0-rocky \
"$DOCKER_CONTEXT"
docker image inspect apache/ozone:2.3.0-rocky \
--format '{{index .Config.Labels "org.opencontainers.image.revision"}}'
docker run --rm apache/ozone:2.3.0-rocky ozone version
docker image inspect apache/ozone:2.2.0-rocky >/dev/null
{code}
Run only the requested binary-image upgrade test:
{code:bash}
export
ROCKSDBJNI_JAR="$HOME/.m2/repository/org/rocksdb/rocksdbjni/10.10.1.1/rocksdbjni-10.10.1.1.jar"
test -f "$ROCKSDBJNI_JAR"
docker info >/dev/null
cd hadoop-ozone/dist/target/ozone-2.3.0-SNAPSHOT/compose/upgrade
bash -c '
export TEST_DIR="$PWD" COMPOSE_DIR="$PWD"
source ./testlib.sh
export OZONE_CURRENT_VERSION=src
RESULT_DIR="$ALL_RESULT_DIR" create_results_dir
run_test ha non-rolling-upgrade 2.2.0 2.3.0
generate_report upgrade "$ALL_RESULT_DIR"
exit "$RESULT"
'
{code}
The simpler
{code:java}
./test.sh{code}
path uses the locally built 2.3.0 distribution through
{code:java}
apache/ozone-runner{code}
; it does not consume
{code:java}
apache/ozone:2.3.0-rocky{code}
. The explicit invocation above matches the original validation and proves that
the locally built 2.3.0 binary image is the image under test.
Inspect
{code:java}
result/ha-non-rolling-upgrade-2.2.0-2.3.0/report.html{code}
and
{code:java}
result/ha-non-rolling-upgrade-2.2.0-2.3.0/sst-format/formats.tsv{code}
. A successful run completes all four upgrade phases, reports
{code:java}
format_version 5{code}
for every newly observed SST, observes at least one new OM SST, and reads
{code:java}
format-round-3/0{code}
after downgrade to 2.2.0.
was:
h3. Goal
Verify that Ozone 2.2.0 with RocksDB 7.7.3 can reopen and read the same OM
database after Ozone 2.3.0 with RocksDB 10.10.1.1 has written and compacted new
SST files. The new SSTs must remain at block-based table format_version 5 so
rollback to 2.2.0 remains compatible.
h3. Test command
{code}
run_test ha non-rolling-upgrade 2.2.0 2.3.0
{code}
h3. Test scenario
# Start the HA cluster on Ozone 2.2.0, verify it is finalized, and create the
baseline upgrade dataset.
# Restart the same cluster and data directories on Ozone 2.3.0 with --upgrade.
Do not invoke the explicit finalization step before downgrade. Since 2.3.0
introduces no new OM or HDDS layout feature after 2.2.0, OM and SCM already
report finalized; this exercises rollback across the binary and RocksDB version
change rather than rollback with a pending layout finalization.
# While running 2.3.0, create a dedicated OBS volume and bucket and perform
three rounds of writes. Each round writes 2,000 keys and forces keyTable
compaction on om1, om2, and om3. Inventory newly created SST files, copy them
to the test results, inspect their table properties, and require format_version
5. Require at least one newly created OM SST. Newly observed SCM and datanode
SSTs are checked opportunistically.
# Stop 2.3.0 and restart the same data directories on Ozone 2.2.0 with
--downgrade. Validate the common datasets written under 2.3.0 and read
format-round-3/0, written during the final 2.3.0 compaction round. Require the
downloaded key to be non-empty.
# Restart 2.3.0, run the normal explicit finalization phase, and complete the
common upgrade validations.
h3. Success criteria
* Compaction completes successfully on all three OMs in all three rounds.
* Every newly observed SST reports format_version 5.
* At least one new OM SST is observed.
* Ozone 2.2.0 with RocksDB 7.7.3 starts successfully against the database
previously used by 2.3.0.
* The downgraded 2.2.0 cluster reads both the normal upgrade datasets and
format-round-3/0.
* The complete HA non-rolling-upgrade test passes.
h3. Evidence from the ad-hoc validation
* Nine new OM SST files were observed across three compaction rounds; all
reported format_version 5.
* After downgrade, Ozone 2.2.0 successfully read format-round-3/0.
* The complete Robot Framework run finished with 77 passed, 0 failed.
h3. Proof boundary
This is an end-to-end database reopen and data-read test: RocksDB 7.7.3 starts
against the same database after RocksDB 10.10.1.1 wrote and compacted SSTs,
then serves data written by 2.3.0. The format inspector reads each copied SST
with RocksDB 10.10.1.1 to verify format_version 5. The test does not separately
open every copied SST with RocksDB 7.7.3, and it does not map format-round-3/0
to one specific inspected SST.
h3. Reproducing the validation
The attached [^HDDS-15937-rocksdb-rollback-validation.patch] is the output of
git diff --cached --binary for the ad-hoc validation changes. It is based on
HDDS-15769 ([PR #10836|https://github.com/apache/ozone/pull/10836]), which adds
the preceding upgrade callbacks and test-matrix context. Apply PR #10836 first;
the attached patch is not intended to apply directly to asf/master without that
prerequisite.
Attachment SHA-256:
{noformat}8743eed9d4f51295532a153230c79f6a03203287767af18a4c44c8d17801d5cf{noformat}
h4. Apply the prerequisite and validation patch
Start from a clean checkout of the desired asf/master revision. Download the
attached patch from this Jira, then run:
{code:bash}
git status --short
curl -L https://github.com/apache/ozone/pull/10836.diff | git apply -
git apply --check /path/to/HDDS-15937-rocksdb-rollback-validation.patch
git apply /path/to/HDDS-15937-rocksdb-rollback-validation.patch
{code}
h4. Build and run
Docker with Compose must be available. Use JDK 21. The exact ad-hoc validation
used a locally built {code}apache/ozone:2.3.0-rocky{code} binary image
containing the latest {code}asf/master{code} binaries. The test invocation
below deliberately resets {code}OZONE_CURRENT_VERSION=src{code} after loading
the generated test library; this makes the explicit target {code}2.3.0{code}
select the binary image instead of the local {code}apache/ozone-runner{code}
path.
Both {code}apache/ozone:2.2.0-rocky{code} and
{code}apache/ozone:2.3.0-rocky{code} must exist locally before running the
exact binary-image test. The following builds the 2.3.0 image from the same
latest-master checkout to which PR #10836 and the attached validation patch
were applied. Prepare the 2.2.0 image separately if it is not already present.
{code:bash}
export JAVA_HOME=/path/to/jdk-21
export PATH="$JAVA_HOME/bin:$PATH"
mvn -q dependency:get -Dartifact=org.rocksdb:rocksdbjni:10.10.1.1
mvn -Pdist -DskipTests package
MASTER_REV=$(git rev-parse HEAD)
DOCKER_CONTEXT=$(mktemp -d)
git clone https://github.com/apache/ozone-docker.git "$DOCKER_CONTEXT"
git -C "$DOCKER_CONTEXT" checkout 6d91ca5a3d9a8ff68227854938526f3a6cbccc6c
cp hadoop-ozone/dist/target/ozone-2.3.0-SNAPSHOT.tar.gz "$DOCKER_CONTEXT"/
git -C "$DOCKER_CONTEXT" apply <<'PATCH'
diff --git a/Dockerfile b/Dockerfile
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,10 +16,8 @@
ARG OZONE_RUNNER_VERSION=20260626-1-jdk21
FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
-ARG OZONE_VERSION=2.1.1
-ARG
OZONE_URL="https://www.apache.org/dyn/closer.lua?action=download&filename=ozone/${OZONE_VERSION}/ozone-${OZONE_VERSION}.tar.gz"
-
WORKDIR /opt
-RUN sudo rm -rf /opt/hadoop && curl -LSs -o ozone.tar.gz $OZONE_URL && tar zxf
ozone.tar.gz && rm ozone.tar.gz && mv ozone* hadoop
+COPY ozone-2.3.0-SNAPSHOT.tar.gz ozone.tar.gz
+RUN sudo rm -rf /opt/hadoop && tar zxf ozone.tar.gz && rm ozone.tar.gz && mv
ozone-* hadoop
WORKDIR /opt/hadoop
PATCH
docker build \
--build-arg OZONE_RUNNER_VERSION=20260626-1-jdk25 \
--label "org.opencontainers.image.revision=$MASTER_REV" \
-t apache/ozone:2.3.0-rocky \
"$DOCKER_CONTEXT"
docker image inspect apache/ozone:2.3.0-rocky \
--format '{{index .Config.Labels "org.opencontainers.image.revision"}}'
docker run --rm apache/ozone:2.3.0-rocky ozone version
docker image inspect apache/ozone:2.2.0-rocky >/dev/null
{code}
Run only the requested binary-image upgrade test:
{code:bash}
export
ROCKSDBJNI_JAR="$HOME/.m2/repository/org/rocksdb/rocksdbjni/10.10.1.1/rocksdbjni-10.10.1.1.jar"
test -f "$ROCKSDBJNI_JAR"
docker info >/dev/null
cd hadoop-ozone/dist/target/ozone-2.3.0-SNAPSHOT/compose/upgrade
bash -c '
export TEST_DIR="$PWD" COMPOSE_DIR="$PWD"
source ./testlib.sh
export OZONE_CURRENT_VERSION=src
RESULT_DIR="$ALL_RESULT_DIR" create_results_dir
run_test ha non-rolling-upgrade 2.2.0 2.3.0
generate_report upgrade "$ALL_RESULT_DIR"
exit "$RESULT"
'
{code}
The simpler {code}./test.sh{code} path uses the locally built 2.3.0
distribution through {code}apache/ozone-runner{code}; it does not consume
{code}apache/ozone:2.3.0-rocky{code}. The explicit invocation above matches the
original validation and proves that the locally built 2.3.0 binary image is the
image under test.
Inspect {code}result/ha-non-rolling-upgrade-2.2.0-2.3.0/report.html{code} and
{code}result/ha-non-rolling-upgrade-2.2.0-2.3.0/sst-format/formats.tsv{code}. A
successful run completes all four upgrade phases, reports {code}format_version
5{code} for every newly observed SST, observes at least one new OM SST, and
reads {code}format-round-3/0{code} after downgrade to 2.2.0.
> Verify RocksDB 7.7.3 in 2.2.0 can reopen the database after RocksDB 10.10.1.1
> wrote and compacted SSTs
> ------------------------------------------------------------------------------------------------------
>
> Key: HDDS-15937
> URL: https://issues.apache.org/jira/browse/HDDS-15937
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: test
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Attachments: HDDS-15937-rocksdb-rollback-validation.patch
>
>
> h3. Goal
> Verify that Ozone 2.2.0 with RocksDB 7.7.3 can reopen and read the same OM
> database after Ozone 2.3.0 with RocksDB 10.10.1.1 has written and compacted
> new SST files. The new SSTs must remain at block-based table format_version 5
> so rollback to 2.2.0 remains compatible.
> h3. Test command
> {code:java}
> run_test ha non-rolling-upgrade 2.2.0 2.3.0
> {code}
> h3. Test scenario
> # Start the HA cluster on Ozone 2.2.0, verify it is finalized, and create
> the baseline upgrade dataset.
> # Restart the same cluster and data directories on Ozone 2.3.0 with
> --upgrade. Do not invoke the explicit finalization step before downgrade.
> Since 2.3.0 introduces no new OM or HDDS layout feature after 2.2.0, OM and
> SCM already report finalized; this exercises rollback across the binary and
> RocksDB version change rather than rollback with a pending layout
> finalization.
> # While running 2.3.0, create a dedicated OBS volume and bucket and perform
> three rounds of writes. Each round writes 2,000 keys and forces keyTable
> compaction on om1, om2, and om3. Inventory newly created SST files, copy them
> to the test results, inspect their table properties, and require
> format_version 5. Require at least one newly created OM SST. Newly observed
> SCM and datanode SSTs are checked opportunistically.
> # Stop 2.3.0 and restart the same data directories on Ozone 2.2.0 with
> --downgrade. Validate the common datasets written under 2.3.0 and read
> format-round-3/0, written during the final 2.3.0 compaction round. Require
> the downloaded key to be non-empty.
> # Restart 2.3.0, run the normal explicit finalization phase, and complete
> the common upgrade validations.
> h3. Success criteria
> * Compaction completes successfully on all three OMs in all three rounds.
> * Every newly observed SST reports format_version 5.
> * At least one new OM SST is observed.
> * Ozone 2.2.0 with RocksDB 7.7.3 starts successfully against the database
> previously used by 2.3.0.
> * The downgraded 2.2.0 cluster reads both the normal upgrade datasets and
> format-round-3/0.
> * The complete HA non-rolling-upgrade test passes.
> h3. Evidence from the ad-hoc validation
> * +Nine new OM SST files were observed across three compaction rounds; all
> reported format_version 5.+
> * +After downgrade, Ozone 2.2.0 successfully read format-round-3/0.+
> * The complete Robot Framework run finished with 77 passed, 0 failed.
> h3. Proof boundary
> This is an end-to-end database reopen and data-read test: RocksDB 7.7.3
> starts against the same database after RocksDB 10.10.1.1 wrote and compacted
> SSTs, then serves data written by 2.3.0. The format inspector reads each
> copied SST with RocksDB 10.10.1.1 to verify format_version 5. The test does
> not separately open every copied SST with RocksDB 7.7.3, and it does not map
> format-round-3/0 to one specific inspected SST.
> h3. Reproducing the validation
> The attached [^HDDS-15937-rocksdb-rollback-validation.patch] is the output of
> git diff --cached --binary for the ad-hoc validation changes. It is based on
> HDDS-15769 ([PR #10836|https://github.com/apache/ozone/pull/10836]), which
> adds the preceding upgrade callbacks and test-matrix context. Apply PR #10836
> first; the attached patch is not intended to apply directly to asf/master
> without that prerequisite.
> Attachment SHA-256:
> {noformat}
> 8743eed9d4f51295532a153230c79f6a03203287767af18a4c44c8d17801d5cf{noformat}
> h4. Apply the prerequisite and validation patch
> Start from a clean checkout of the desired asf/master revision. Download the
> attached patch from this Jira, then run:
> {code:bash}
> git status --short
> curl -L https://github.com/apache/ozone/pull/10836.diff | git apply -
> git apply --check /path/to/HDDS-15937-rocksdb-rollback-validation.patch
> git apply /path/to/HDDS-15937-rocksdb-rollback-validation.patch
> {code}
> h4. Build and run
> Docker with Compose must be available. Use JDK 21. The exact ad-hoc
> validation used a locally built
> {code:java}
> apache/ozone:2.3.0-rocky{code}
> binary image containing the latest
> {code:java}
> asf/master{code}
> binaries. The test invocation below deliberately resets
> {code:java}
> OZONE_CURRENT_VERSION=src{code}
> after loading the generated test library; this makes the explicit target
> {code:java}
> 2.3.0{code}
> select the binary image instead of the local
> {code:java}
> apache/ozone-runner{code}
> path.
> Both
> {code:java}
> apache/ozone:2.2.0-rocky{code}
> and
> {code:java}
> apache/ozone:2.3.0-rocky{code}
> must exist locally before running the exact binary-image test. The following
> builds the 2.3.0 image from the same latest-master checkout to which PR
> #10836 and the attached validation patch were applied. Prepare the 2.2.0
> image separately if it is not already present.
> {code:bash}
> export JAVA_HOME=/path/to/jdk-21
> export PATH="$JAVA_HOME/bin:$PATH"
> mvn -q dependency:get -Dartifact=org.rocksdb:rocksdbjni:10.10.1.1
> mvn -Pdist -DskipTests package
> MASTER_REV=$(git rev-parse HEAD)
> DOCKER_CONTEXT=$(mktemp -d)
> git clone https://github.com/apache/ozone-docker.git "$DOCKER_CONTEXT"
> git -C "$DOCKER_CONTEXT" checkout 6d91ca5a3d9a8ff68227854938526f3a6cbccc6c
> cp hadoop-ozone/dist/target/ozone-2.3.0-SNAPSHOT.tar.gz "$DOCKER_CONTEXT"/
> git -C "$DOCKER_CONTEXT" apply <<'PATCH'
> diff --git a/Dockerfile b/Dockerfile
> --- a/Dockerfile
> +++ b/Dockerfile
> @@ -16,10 +16,8 @@
> ARG OZONE_RUNNER_VERSION=20260626-1-jdk21
> FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
>
> -ARG OZONE_VERSION=2.1.1
> -ARG
> OZONE_URL="https://www.apache.org/dyn/closer.lua?action=download&filename=ozone/${OZONE_VERSION}/ozone-${OZONE_VERSION}.tar.gz"
> -
> WORKDIR /opt
> -RUN sudo rm -rf /opt/hadoop && curl -LSs -o ozone.tar.gz $OZONE_URL && tar
> zxf ozone.tar.gz && rm ozone.tar.gz && mv ozone* hadoop
> +COPY ozone-2.3.0-SNAPSHOT.tar.gz ozone.tar.gz
> +RUN sudo rm -rf /opt/hadoop && tar zxf ozone.tar.gz && rm ozone.tar.gz && mv
> ozone-* hadoop
>
> WORKDIR /opt/hadoop
> PATCH
> docker build \
> --build-arg OZONE_RUNNER_VERSION=20260626-1-jdk25 \
> --label "org.opencontainers.image.revision=$MASTER_REV" \
> -t apache/ozone:2.3.0-rocky \
> "$DOCKER_CONTEXT"
> docker image inspect apache/ozone:2.3.0-rocky \
> --format '{{index .Config.Labels "org.opencontainers.image.revision"}}'
> docker run --rm apache/ozone:2.3.0-rocky ozone version
> docker image inspect apache/ozone:2.2.0-rocky >/dev/null
> {code}
> Run only the requested binary-image upgrade test:
> {code:bash}
> export
> ROCKSDBJNI_JAR="$HOME/.m2/repository/org/rocksdb/rocksdbjni/10.10.1.1/rocksdbjni-10.10.1.1.jar"
> test -f "$ROCKSDBJNI_JAR"
> docker info >/dev/null
> cd hadoop-ozone/dist/target/ozone-2.3.0-SNAPSHOT/compose/upgrade
> bash -c '
> export TEST_DIR="$PWD" COMPOSE_DIR="$PWD"
> source ./testlib.sh
> export OZONE_CURRENT_VERSION=src
> RESULT_DIR="$ALL_RESULT_DIR" create_results_dir
> run_test ha non-rolling-upgrade 2.2.0 2.3.0
> generate_report upgrade "$ALL_RESULT_DIR"
> exit "$RESULT"
> '
> {code}
> The simpler
> {code:java}
> ./test.sh{code}
> path uses the locally built 2.3.0 distribution through
> {code:java}
> apache/ozone-runner{code}
> ; it does not consume
> {code:java}
> apache/ozone:2.3.0-rocky{code}
> . The explicit invocation above matches the original validation and proves
> that the locally built 2.3.0 binary image is the image under test.
> Inspect
> {code:java}
> result/ha-non-rolling-upgrade-2.2.0-2.3.0/report.html{code}
> and
> {code:java}
> result/ha-non-rolling-upgrade-2.2.0-2.3.0/sst-format/formats.tsv{code}
> . A successful run completes all four upgrade phases, reports
> {code:java}
> format_version 5{code}
> for every newly observed SST, observes at least one new OM SST, and reads
> {code:java}
> format-round-3/0{code}
> after downgrade to 2.2.0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]