[
https://issues.apache.org/jira/browse/HIVE-29052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17987205#comment-17987205
]
Stamatis Zampetakis commented on HIVE-29052:
--------------------------------------------
I didn't understand the connection with the "allModules" and "dist" profile.
Can you please elaborate a bit?
Even though the core jar contains just module classes, the addition of the new
dependency creates build cycles. I mean that in order to build hive-exec module
you need standalone-metastore, and if you want to build standalone-metastore
you need hive-exec. In addition, from the moment that the dependency of
hive-exec is added in the metastore, developers will start using and extending
classes from the ql module (and that's expected if we have a dependency to this
module) so coupling will only become worse.
Maybe I am missing something but even if we don't release a separate tarball
for HMS, the users/customers will be able to use HMS IcerbergCatalog support
through the main Hive release tarball.
I also support the idea of isolating metastore and releasing it apart but it
seems that we are not fully ready to do it yet. I am not sure if the HMS folks
are following this thread; if they do it would be nice to weight in.
The discussion is slightly turning into a debate that is not very productive. I
expressed my concerns with the current proposal so at this point I think its
better for me to take a step back and let the final call to Denys and Butao
who started this work. Just to be clear, I am not offended neither annoyed :)
and I am happy to provide further feedback if needed/requested but I will
refrain from bringing further counter-arguments about the coupling of metastore
with hive-exec.
> Error starting standalone HMS: "IcebergHouseKeeperService class not found"
> --------------------------------------------------------------------------
>
> Key: HIVE-29052
> URL: https://issues.apache.org/jira/browse/HIVE-29052
> Project: Hive
> Issue Type: Task
> Components: Standalone Metastore
> Affects Versions: 4.1.0, 4.2.0
> Reporter: Butao Zhang
> Priority: Major
> Labels: pull-request-available
>
> During local standalone HMS deployment testing, the following exception log
> was observed:
>
> {code:java}
> 2025-06-28T17:19:28,840 ERROR [Metastore threads starter thread]
> leader.LeaseLeaderElection: Error notifying the listener:
> org.apache.hadoop.hive.metastore.leader.CompactorTasks@61e0c33d, leader: true
> java.lang.ClassNotFoundException:
> org.apache.hadoop.hive.ql.txn.compactor.Initiator
> at
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
> ~[?:?]
> at
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
> ~[?:?]
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
> ~[?:?]
> at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
> at java.base/java.lang.Class.forName(Class.java:375) ~[?:?]
> at
> org.apache.hadoop.hive.metastore.leader.CompactorTasks.instantiateThread(CompactorTasks.java:53)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.CompactorTasks.getCompactorThreads(CompactorTasks.java:67)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.CompactorTasks.takeLeadership(CompactorTasks.java:136)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.lambda$notifyListener$0(LeaseLeaderElection.java:141)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.notifyListener(LeaseLeaderElection.java:138)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.doWork(LeaseLeaderElection.java:120)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:181)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:63)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.lambda$start$2(LeaderElectionContext.java:125)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
> at
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.start(LeaderElectionContext.java:136)
> [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.HiveMetaStore$8.run(HiveMetaStore.java:855)
> [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> 2025-06-28T17:19:28,847 ERROR [Metastore threads starter thread]
> leader.LeaseLeaderElection: Error notifying the listener:
> org.apache.hadoop.hive.metastore.leader.HouseKeepingTasks@33d3660, leader:
> true
> org.apache.hadoop.hive.metastore.api.MetaException:
> org.apache.iceberg.mr.hive.metastore.task.IcebergHouseKeeperService class not
> found
> at
> org.apache.hadoop.hive.metastore.utils.JavaUtils.getClass(JavaUtils.java:56)
> ~[hive-standalone-metastore-common-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.HouseKeepingTasks.getRemoteOnlyTasks(HouseKeepingTasks.java:72)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.HouseKeepingTasks.takeLeadership(HouseKeepingTasks.java:112)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.lambda$notifyListener$0(LeaseLeaderElection.java:141)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.notifyListener(LeaseLeaderElection.java:138)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.doWork(LeaseLeaderElection.java:120)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:181)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:63)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.lambda$start$2(LeaderElectionContext.java:125)
> ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
> at
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.start(LeaderElectionContext.java:136)
> [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> at
> org.apache.hadoop.hive.metastore.HiveMetaStore$8.run(HiveMetaStore.java:855)
> [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)