The GitHub Actions job "Build CI with different platforms/configs" on hive.git/HIVE-30209 has failed. Run started by GitHub user deniskuzZ (triggered by deniskuzZ).
Head commit for run: b046fe763f75ba8079c93c525224b8ad92ea3065 / Denys Kuzmenko <[email protected]> HIVE-30209: Packaging: take Tez only from TEZ_HOME; drop /opt/tez-snapshot and the bundled tez-api - Docker image: -tez-snapshot installs the Tez Maven snapshot into TEZ_HOME, replacing the release's jars, instead of a separate /opt/tez-snapshot; one Tez per image. The overlaid artifacts are unchanged - entrypoint: the TezAM classpath starts with TEZ_HOME; HiveServer2 no longer symlinks snapshot jars into lib/ - every org.apache.tez artifact except tez-protobuf-history-plugin is managed at provided scope, joining the artifacts the root pom already manages that way (the AWS SDK bundle, compile-time annotations): Hive compiles against Tez but must never ship it. Only tez-api actually reached lib/, through hive-common's single compile-scoped declaration -- which exists for one inlined TezConfiguration constant in HiveConfUtil. The other Tez artifacts are optional everywhere, so their scope has no effect today; managing them centrally stops the next non-optional declaration repeating this. hive-service's tez-api declaration was dead (test scope, no Tez anywhere in service/src) and is dropped. With the six managed provided, the <optional>true</optional> flags on their declarations are meaningless -- provided is already non-transitive -- so 23 are dropped across ql, llap-client, llap-common, llap-ext-client, llap-server, llap-tez and shims/0.23. tez-protobuf-history-plugin keeps its flag in ql: it stays compile so its classes are shaded into hive-exec (HIVE-29003), and compile gives no such guarantee. The root pom's lone <optional> entry, on tez-mapreduce, goes with them: a managed <optional> is not applied to a declaration that omits it, so it never had an effect -- every working flag is at a declaration site. This also empties it out of shaded artifacts, which an assembly exclusion cannot reach: hive-beeline-<ver>-standalone.jar, the self-sufficient client jar the beeline distribution ships, carried 555 unrelocated Tez classes that beeline never used, TezConfiguration among them, and now carries none - schematool: HiveSchemaTool builds the Configuration itself and adds tez-site.xml rather than instantiating TezConfiguration, which every schematool script path did through execSql. Both Tez names it reads are constant variables, so javac inlines them and the compiled class references no Tez type; beeline declares tez-api compile-only. bin/hive puts only TEZ_CONF_DIR on schematool's classpath, never TEZ_HOME's jars - DriverContext no longer names TezTask. HIVE-28623 added a TezTask::getRuntimeContext lookup to setPlan, which runs on every compile, so compiling any statement -- DDL included -- loaded TezTask and, verifying its catch (SessionNotRunning) at TezTask:664, required tez-api. TezTask now implements RuntimeContextProvider and Utilities filters the task graph on that interface, so compilation loads no execution-engine class and nothing outside the Tez path needs tez-api - tez-protobuf-history-plugin stays at the release version on purpose: ql shades its classes into hive-exec, which reads the proto files (HiveProtoLoggingHook, ProtobufMessageSerDe), so overlaying only TEZ_HOME would have the AM writing a schema the reader does not share. Unshading it from hive-exec is a follow-up - binary distribution: lib/ no longer bundles tez-api, as it does not bundle Hadoop; nothing else in lib/ changes Measured: hive-beeline-<ver>-standalone.jar 555 -> 0 Tez classes; lib/ carries no Tez jar; hive-exec's 27 Tez class entries are unchanged by this patch (1 TaskSpecBuilder, Hive's own source under org/apache/tez, and 26 from the shaded tez-protobuf-history-plugin); DriverContext and TezRuntimeContext load with no tez-api on the classpath at all; and no instruction in HiveSchemaTool.class references a Tez type (javac keeps an unreferenced constant-pool class record for the inlined constants' qualifying class, which is never resolved). Report URL: https://github.com/apache/hive/actions/runs/39990506510 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
