Skip to content

HIVE-29713 : maintain properties package, update JEXL dependency to JEXL 3.7.0#6592

Open
henrib wants to merge 4 commits into
apache:masterfrom
henrib:HIVE-29713
Open

HIVE-29713 : maintain properties package, update JEXL dependency to JEXL 3.7.0#6592
henrib wants to merge 4 commits into
apache:masterfrom
henrib:HIVE-29713

Conversation

@henrib

@henrib henrib commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

The properties package needed a bit of refresh and some documentation.
JEXL version needed an update.

Why are the changes needed?

Proactive maintenance especially wrt JEXL / security.

Does this PR introduce any user-facing change?

No

How was this patch tested?

Unit tests

… update property management documentation;

- Updates JEXL dependency to 3.7.0
Copilot AI review requested due to automatic review settings July 9, 2026 17:02

Copilot AI 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.

Pull request overview

This PR performs maintenance on the standalone metastore “properties” package and updates the Apache Commons JEXL dependency to 3.7.0, alongside small code modernizations and documentation additions to make the properties subsystem easier to understand and maintain.

Changes:

  • Bump Apache Commons JEXL dependency to 3.7.0 and adjust JEXL engine initialization accordingly.
  • Modernize/cleanup properties package code (e.g., Java 21 language features, @Serial annotation).
  • Add new top-level documentation for the properties package and refresh/adjust existing Javadocs.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
standalone-metastore/pom.xml Updates the JEXL version property to 3.7.0.
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/SerializationProxy.java Adds @Serial annotation for serialVersionUID.
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/PropertyType.java Refactors casts using pattern matching for instanceof.
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/PropertyStore.java Javadoc refresh (notably around bulk save semantics).
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/PropertyMap.java Minor Javadoc correction in the deserialization constructor comment.
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/PropertyManager.java Updates JEXL feature initialization for compatibility with newer JEXL.
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/properties/HMSPropertyManager.java Updates documentation and maintenance-operation enums; modernizes switch usage.
PROPERTIES_PACKAGE.md Adds new package-level documentation and usage examples.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread PROPERTIES_PACKAGE.md Outdated
Comment thread PROPERTIES_PACKAGE.md Outdated
Comment thread PROPERTIES_PACKAGE.md Outdated

Copilot AI 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.

Pull request overview

Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

Comment on lines +40 to +41
* A potential extension would be to add maintenance operation properties at the cluster and database levels to the schema
* so they could act as default values for table properties used by maintenance operations.

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.

Suggested change
* A potential extension would be to add maintenance operation properties at the cluster and database levels to the schema
* so they could act as default values for table properties used by maintenance operations.
* A potential extension would be to add maintenance operation properties at the cluster and database levels to the
* schema so they could act as default values for table properties used by maintenance operations.

Just for the 120-characters rule

* <li>db.table.name : when it refers to a table property named 'name' for the table 'table' in the database 'db'</li>
* </ul>
* <p>
* This is meant as the base of a property manager that could be used to manage properties in the HiveMetaStore

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 am just curious about the future vision stated here

REWRITE_MANIFEST,
DELETE_ORPHAN_FILES,
REWRITE_POSITION_DELETE,
COMPUTE_TABLE_STATS

@okumin okumin Jul 14, 2026

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.

Could you explain the enum changes? I understand we can change them as the original values are not used yet. However, I am not confident about why the new values are better than the old ones. One option is to separate the PR and involve Dmitriy or someone more familiar with maintenance tasks there. I can quickly give you +1 for the JEXL upgrade, but I may need to learn something to approve this list.

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.

4 participants