diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f8d0d1a95..99e566b32d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -159,7 +159,7 @@ jobs: # archive.apache.org mirror does not consume the docker-build job budget. plugins-download-archives: runs-on: ubuntu-24.04 - timeout-minutes: 120 + timeout-minutes: 90 steps: - uses: actions/checkout@v6 diff --git a/dev-support/ranger-docker/.env b/dev-support/ranger-docker/.env index be842585a5..8ca362eabe 100644 --- a/dev-support/ranger-docker/.env +++ b/dev-support/ranger-docker/.env @@ -75,11 +75,12 @@ ORACLE_VERSION=23.6 SQLSERVER_VERSION=2022-latest # Ozone Configuration -OZONE_VERSION=1.4.0 +# Align runtime with Ranger plugin compile target (pom.xml ozone.version=2.1.0) +OZONE_VERSION=2.1.0 OZONE_PLUGIN_VERSION=3.0.0-SNAPSHOT OZONE_RUNNER_IMAGE=apache/ozone-runner -# JDK 17 runner for Ranger 3.0 / Ozone 1.4; 20241108-jdk17-1 has arm64+amd64 (20241022-jdk17-1 is amd64-only). -OZONE_RUNNER_VERSION=20241108-jdk17-1 +# Ozone 2.0+ requires jdk21 runner (jdk11/jdk17 tags are for Ozone 1.x). Multi-arch arm64+amd64. +OZONE_RUNNER_VERSION=20260106-1-jdk21 # Trino Configuration TRINO_VERSION=latest diff --git a/dev-support/ranger-docker/Dockerfile.ranger-ozone b/dev-support/ranger-docker/Dockerfile.ranger-ozone index 68aa796b63..0e435e1f5d 100644 --- a/dev-support/ranger-docker/Dockerfile.ranger-ozone +++ b/dev-support/ranger-docker/Dockerfile.ranger-ozone @@ -15,8 +15,8 @@ # limitations under the License. ARG OZONE_RUNNER_IMAGE=apache/ozone-runner -# Keep in sync with .env; 20241108-jdk17-1 is multi-arch (arm64+amd64), 20241022-jdk17-1 is amd64-only. -ARG OZONE_RUNNER_VERSION=20241108-jdk17-1 +# Keep in sync with .env; Ozone 2.0+ needs jdk21 runner (20260106-1-jdk21 is multi-arch arm64+amd64). +ARG OZONE_RUNNER_VERSION=20260106-1-jdk21 FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION} ARG OZONE_HOME diff --git a/dev-support/ranger-docker/docker-compose.ranger-ozone.yml b/dev-support/ranger-docker/docker-compose.ranger-ozone.yml index 2d6c001695..3de2916748 100644 --- a/dev-support/ranger-docker/docker-compose.ranger-ozone.yml +++ b/dev-support/ranger-docker/docker-compose.ranger-ozone.yml @@ -9,7 +9,7 @@ services: - ranger ports: - 9864 - command: ["/opt/hadoop/bin/ozone","datanode"] + command: bash -c "sudo mkdir -p /data/hdds /data/metadata && sudo chown -R hadoop:hadoop /data && exec /opt/hadoop/bin/ozone datanode" env_file: - ./scripts/ozone/docker-config om: @@ -42,14 +42,14 @@ services: ranger-solr: condition: service_started environment: - ENSURE_OM_INITIALIZED: /data/metadata/om/current/VERSION OZONE_OPTS: -XX:-UseContainerSupport -Dcom.sun.net.ssl.checkRevocation=false OZONE_HOME: /opt/hadoop OZONE_PLUGIN_VERSION: ${OZONE_PLUGIN_VERSION} OZONE_VERSION: ${OZONE_VERSION} env_file: - ./scripts/ozone/docker-config - command: bash -c "/opt/hadoop/ranger-ozone-plugin/ranger-ozone-setup.sh && /opt/hadoop/bin/ozone om" + # Ozone 2.1 entrypoint init uses obsolete -createObjectStore fallback; use --init explicitly. + command: bash -c "/opt/hadoop/ranger-ozone-plugin/ranger-ozone-setup.sh && (test -f /data/metadata/om/current/VERSION || /opt/hadoop/bin/ozone om --init) && exec /opt/hadoop/bin/ozone om" scm: image: ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION} container_name: ozone-scm @@ -64,9 +64,8 @@ services: env_file: - ./scripts/ozone/docker-config environment: - ENSURE_SCM_INITIALIZED: /data/metadata/scm/current/VERSION OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "${OZONE_SAFEMODE_MIN_DATANODES:-1}" - command: ["/opt/hadoop/bin/ozone","scm"] + command: bash -c "(test -f /data/metadata/scm/current/VERSION || /opt/hadoop/bin/ozone scm --init) && exec /opt/hadoop/bin/ozone scm" networks: ranger: diff --git a/distro/src/main/assembly/plugin-ozone.xml b/distro/src/main/assembly/plugin-ozone.xml index aba01db6e0..8aaead673f 100644 --- a/distro/src/main/assembly/plugin-ozone.xml +++ b/distro/src/main/assembly/plugin-ozone.xml @@ -108,6 +108,7 @@ joda-time:joda-time com.carrotsearch:hppc io.airlift:aircompressor:jar:${aircompressor.version} + javax.annotation:javax.annotation-api:jar:${javax.annotation-api.version} javax.inject:javax.inject javax.ws.rs:javax.ws.rs-api org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version} diff --git a/plugin-ozone/pom.xml b/plugin-ozone/pom.xml index dba7e4e5c3..d2fcc6e092 100644 --- a/plugin-ozone/pom.xml +++ b/plugin-ozone/pom.xml @@ -148,6 +148,12 @@ limitations under the License. + + javax.annotation + javax.annotation-api + ${javax.annotation-api.version} + runtime + javax.inject javax.inject