Skip to content

[WIP]HIVE-29520: Add configuration to enable/disable ACID functionality in Hive Metastore#6416

Open
VenuReddy2103 wants to merge 1 commit intoapache:masterfrom
VenuReddy2103:HIVE-29520
Open

[WIP]HIVE-29520: Add configuration to enable/disable ACID functionality in Hive Metastore#6416
VenuReddy2103 wants to merge 1 commit intoapache:masterfrom
VenuReddy2103:HIVE-29520

Conversation

@VenuReddy2103
Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Introduce a configuration to enable/disable ACID functionality in Hive Metastore

Why are the changes needed?

With the increasing adoption of the Apache Iceberg table format, many deployments no longer rely on ACID (transactional) tables provided by Apache Hive. In such environments, ACID-related functionality in the Hive Metastore becomes unnecessary.
Currently, Hive Metastore initializes and runs several background threads and services that are specifically designed to support ACID operations (e.g., compaction handling, transaction management, cleanup tasks). These components continue to run regardless of whether ACID tables are actually used in the deployment.
Running ACID-related services in environments that do not use ACID tables leads to:

  1. Unnecessary resource consumption (CPU, memory, threads)
  2. Increased operational overhead
  3. Additional complexity in debugging and monitoring
  4. Longer startup times and maintenance burden

Providing a mechanism to disable ACID functionality would streamline such deployments and improve efficiency.

Does this PR introduce any user-facing change?

No

How was this patch tested?

Added unittests

@VenuReddy2103 VenuReddy2103 changed the title [WIP]Add configuration to enable/disable ACID functionality in Hive Metastore [WIP]HIVE-29520: Add configuration to enable/disable ACID functionality in Hive Metastore Apr 8, 2026
@deniskuzZ
Copy link
Copy Markdown
Member

deniskuzZ commented Apr 8, 2026

why do we need new toggle for that?

taskNames.removeAll(ImmutableSet.of(MetastoreConf.ACID_OPEN_TXNS_COUNTER_SERVICE_CLASS,
MetastoreConf.ACID_HOUSEKEEPER_SERVICE_CLASS,
MetastoreConf.ACID_TXN_CLEANER_SERVICE_CLASS,
MetastoreConf.MATERIALZIATIONS_REBUILD_LOCK_CLEANER_TASK_CLASS));
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hive provides support for iceberg tables materialized views

@VenuReddy2103
Copy link
Copy Markdown
Contributor Author

why do we need new toggle for that?

metastore.support.acid is a startup configuration. If the configuration is set to false, We can avoid starting acid related threads.

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 9, 2026

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.

3 participants