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]

Reply via email to