[
https://issues.apache.org/jira/browse/HIVE-29284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HIVE-29284:
----------------------------------
Labels: pull-request-available (was: )
> Decouple hard hadoop-yarn-registry dependency from hive-exec
> ------------------------------------------------------------
>
> Key: HIVE-29284
> URL: https://issues.apache.org/jira/browse/HIVE-29284
> Project: Hive
> Issue Type: Improvement
> Components: Hive
> Affects Versions: 4.2.0
> Reporter: Ish Nagy
> Priority: Minor
> Labels: pull-request-available
>
> I am tracking down some transitive dependency issues in {{spark}}, and I have
> found a potential tighter-than-necessary coupling between {{hive-exec}} and
> {{hadoop-yarn-registry}}.
> {{hadoop-yarn-registry}} is definitely used from the LLAP components, but
> {{hive-exec}} seems to depend on it only at a single point, in
> {noformat}
> ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java
> {noformat}
> {noformat}
> if (llapMode) {
> // localize llap client jars
> addJarLRByClass(LlapTaskSchedulerService.class, commonLocalResources);
> addJarLRByClass(LlapProtocolClientImpl.class, commonLocalResources);
> addJarLRByClass(LlapProtocolClientProxy.class, commonLocalResources);
> addJarLRByClass(RegistryOperations.class, commonLocalResources);
> }
> {noformat}
> Since spark uses hive-exec but does not use LLAP, my spark side dependency
> issues would go away, if the reference to this RegistryOperations.class was
> not resolved at compile time, but only at runtime. (== removing the compile
> time dependency to registry).
> I'll provide a simple patch to demonstrate the idea.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)