Skip to content

Conversation

@dengzhhu653
Copy link
Member

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

  • mvn clean install -DskipTests -Pdist,docker from root/standalone-metastore directory
  • Run the generated Metastore Docker image against Derby, MySQL, Postgres.

@deniskuzZ
Copy link
Member

deniskuzZ commented Jul 3, 2025

I wanted to do the same, but wasn't sure on the naming. Should we still build the apache-hive-standalone-metastore-[server]-bin.tar.gz?

Also, we are lacking the HMS client. There is already a patch with +1, but for some reason it wasn't merged.

@deniskuzZ
Copy link
Member

@dengzhhu653, do you plan to include this in branch-4.1?
cc @zhangbutao

@dengzhhu653
Copy link
Member Author

I wanted to do the same, but wasn't sure on the naming. Should we still build the apache-hive-standalone-metastore-[server]-bin.tar.gz?

Also, we are lacking the HMS client. There is already a patch with +1, but for some reason it wasn't merged.

Actually the Metastore needs the client, one example is the PartitionManagementTask.

do you plan to include this in branch-4.1?

yes, it's applicable

@dengzhhu653
Copy link
Member Author

Upon the latest master, there is an error on the Initiator:

2025-07-03 15:48:50 Caused by: java.lang.NoClassDefFoundError: org/apache/tez/dag/app/TezTaskCommunicatorImpl
2025-07-03 15:48:50     at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
2025-07-03 15:48:50     at java.base/java.lang.ClassLoader.defineClass(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
2025-07-03 15:48:50     at org.apache.hadoop.hive.ql.exec.tez.TezSessionState.<clinit>(TezSessionState.java:115) ~[hive-exec-4.2.0-SNAPSHOT-core.jar:4.2.0-SNAPSHOT]
2025-07-03 15:48:50     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:766) ~[hive-exec-4.2.0-SNAPSHOT-core.jar:4.2.0-SNAPSHOT]
2025-07-03 15:48:50     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:683) ~[hive-exec-4.2.0-SNAPSHOT-core.jar:4.2.0-SNAPSHOT]
2025-07-03 15:48:50     at org.apache.iceberg.mr.hive.compaction.IcebergTableOptimizer.findPotentialCompactions(IcebergTableOptimizer.java:85) ~[hive-iceberg-handler-4.2.0-SNAPSHOT.jar:4.2.0-SNAPSHOT]

I think it might due to HIVE-29028, I haven't seen such error before HIVE-29045: Preparing for 4.2.0 development

@zhangbutao
Copy link
Contributor

2025-07-03 15:48:50 Caused by: java.lang.NoClassDefFoundError: org/apache/tez/dag/app/TezTaskCommunicatorImpl

It seems that the HS2 process requires the loading of tez-dag.jar, but currently in our HS2, only tez-api.jar is loaded.

@deniskuzZ
Copy link
Member

deniskuzZ commented Jul 3, 2025

@dengzhhu653, @zhangbutao, IcebergTableOptimizer is called from the HMS Initiator process, it shouldn't require the tez. I think we should revert
cc @difin

@deniskuzZ
Copy link
Member

deniskuzZ commented Jul 3, 2025

Actually the Metastore needs the client, one example is the PartitionManagementTask.

true, still i've raised a PR for the HIVE-20189: Separate metastore client code into its own module to have a clear separation:
#5924

hive-standalone-metastore-common is used in multiple places including the hive-common

WDYT?

<directory>${project.basedir}</directory>
<directory>${project.parent.basedir}</directory>
<includes>
<include>DEV-README</include>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these files are not present in the standalone-metastore, should I include them?

<includes>
<include>DEV-README</include>
<include>README*</include>
<include>LICENSE*</include>
Copy link
Member

@deniskuzZ deniskuzZ Jul 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we include these as well? note, was able to find CHANGELOG

<include>LICENSE</include>
<include>NOTICE</include>
<include>CHANGELOG</include>
<include>RELEASE_NOTES.txt</include>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@deniskuzZ deniskuzZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, some minor things

Copy link
Member

@deniskuzZ deniskuzZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, pending tests

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jul 4, 2025

@deniskuzZ deniskuzZ merged commit ade51d8 into apache:master Jul 5, 2025
4 checks passed
@dengzhhu653 dengzhhu653 deleted the HIVE-29062 branch July 5, 2025 23:16
dengzhhu653 added a commit to dengzhhu653/hive that referenced this pull request Jul 7, 2025
dengzhhu653 added a commit to dengzhhu653/hive that referenced this pull request Jul 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants