Skip to content

HIVE-30237: Clean up dependencies post thrift upgrade - #6938

Open
dengzhhu653 wants to merge 2 commits into
apache:masterfrom
dengzhhu653:HIVE-30237
Open

dengzhhu653 wants to merge 2 commits into
apache:masterfrom
dengzhhu653:HIVE-30237

Conversation

@dengzhhu653

Copy link
Copy Markdown
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?

@sonarqubecloud

sonarqubecloud Bot commented Nov 4, 2026

Copy link
Copy Markdown

@dengzhhu653

Copy link
Copy Markdown
Member Author

@InvisibleProgrammer @saihemanth-cloudera @Aggarwal-Raghav can you take a look please? Thank you!

@Aggarwal-Raghav Aggarwal-Raghav left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM +1

@InvisibleProgrammer

Copy link
Copy Markdown
Contributor

@dengzhhu653 , thank you for spotting this PR. I will check this today.

* This class serves as the super class for all handlers that implement the IHMSHandler
*/
public abstract class BaseHandler extends FacebookBase implements IHMSHandler {
public abstract class BaseHandler implements IHMSHandler {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I assuming this change is about picking up the code from FacebookBase and copying into this class so that fb303 can be removed. Am I correct?

If I am correct, are we still need fb303 at all?
I'm thinking about this: https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/src/main/thrift/fb303.thrift
I only kept it to keep the compatibility and being able to remove fb303 completely later.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

We still need fb303.thrift, to register ProcessFunction that processes the request, such as shutdown()

@slachiewicz

Copy link
Copy Markdown
Member

Inlining FacebookBase into BaseHandler removes com.facebook.fb303.FacebookBase itself, and some ThriftHiveMetastore.Iface implementers extend it directly: waggle-dance's FederatedHMSHandler and metacat's CatalogThriftHiveMetastore. They would have to re-add libfb303 0.9.3, which brings back its FacebookService classes, built for libthrift 0.9.3, next to the 0.24 ones generated from fb303.thrift. Could FacebookBase.java stay as a source file in metastore-common under its original package, as in #6653? BaseHandler can keep extending it.

This branch has not been deployed

No deployments
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