hbase icon indicating copy to clipboard operation
hbase copied to clipboard

HBASE-29368: Key management for encryption at rest (MVP changes)

Open haridsv opened this issue 2 months ago • 10 comments

Jira: HBASE-29368 Design doc: https://docs.google.com/document/d/1ToW_rveXHXUc1F6eFNQfu5LOeMAjzgq6FcYUDbdZrSM/edit?usp=sharing Discussion thread: https://lists.apache.org/thread/q7g2rr2xcgl64rkn9j3mnokf6fvohp2y

Cumulative changes from feature branch corresponding to the following sub-tasks:

  1. Phase 1: Key caching and minimal service
  2. Phase 2: Integrate key management with existing encryption
  3. Phase 2: Migration path from current encryption to managed encryption
  4. Phase 2: Admin API to trigger for System Key rotation detection as an alternative to failover.
  5. Phase 3: Additional key management APIs

Overview

This feature introduces a comprehensive key management system that extends HBase's existing encryption-at-rest capabilities. The implementation provides enterprise-grade key lifecycle management with support for key rotation, hierarchical namespace resolution for key lookup, key caching and improved integration with key management systems to handle key life cycles and external key changes.

Key Features

1. Managed Keys Infrastructure

  • Introduction of ManagedKeyProvider interface for pluggable key provider implementations on the lines of the existing KeyProvider interface.
  • The new interface can also return Data Encryption Keys (DEKs) and a lot more details on the keys.
  • Comes with the default ManagedKeyStoreKeyProvider implementation using Java KeyStore, similar to the existing KeyStoreKeyProvider.
  • Enables logical key isolation for multi-tenant scenarios through custodian identifiers (future use cases) and the special default global custodian.
  • Hierarchical namespace resolution for DEKs with automatic fallback: explicit CF namespace attribute → constructed table/family namespace → table name → global namespace

2. System Key (STK) Management

  • Cluster-wide system key for wrapping data encryption keys (DEKs). This is equivalent to the existing master key, but better managed and operation friendly.
  • Secure storage in HDFS with support for automatic key rotation during boot up.
  • Admin API to trigger key rotation and propagation to all RegionServers without needing to do a rolling restart.
  • Preserves the current double-wrapping architecture: DEKs wrapped by STK, STK sourced from external KMS

3. KeymetaAdmin API

  • enableKeyManagement(keyCust, keyNamespace) - Enable key management for a custodian/namespace pair
  • getManagedKeys(keyCust, keyNamespace) - Query key status and metadata
  • rotateSTK() - Check for and propagate new system keys
  • disableKeyManagement(keyCust, keyNamespace) - Disable all the keys for a custodian/namespace
  • disableManagedKey(keyCust, keyNamespace, keyMetadataHash) - Disable a specific key
  • rotateManagedKey(keyCust, keyNamespace) - Rotate the active key
  • refreshManagedKeys(keyCust, keyNamespace) - Refresh from external KMS to validate all the keys.
  • Internal cache management operations for convenience and meeting SLAs.

4. Persistent Key Metadata Storage

  • New system table hbase:keymeta for storing key metadata and state which acts as an L2 cache.
  • Tracks key lifecycle: ACTIVE, INACTIVE, DISABLED, FAILED states
  • Stores wrapped DEKs and metadata for key lookup without depending on external KMS.
  • Optimized for high-priority access with in-memory column families
  • Key metadata tracking with cryptographic hashes for integrity verification

5. Multi-Layer Caching

  • L1: In-memory Caffeine cache on RegionServers for hot key data
  • L2: Keymeta table for persistent key metadata that is shared across all RegionServers.
  • L3: Dynamic lookup from external KMS as fallback when not found in L2.
  • Cache invalidation mechanism for key rotation scenarios

6. HBase Shell Integration

  • enable_key_management - Enable key management for a custodian and namespace
  • show_key_status - Display key status and metadata
  • rotate_stk - Trigger system key rotation
  • disable_key_management - Disable key management for a custodian and namespace
  • disable_managed_key - Disable a specific key
  • rotate_managed_key - Rotate the active key
  • refresh_managed_keys - Refresh all keys for a custodian and namespace

Implementation Highlights

  • Backward Compatibility: Changes are fully compatible with existing encryption-at-rest configuration
  • Gradual step-by-step migration: Well defined migration path from existing configuration to new configuration
  • Performance: Minimal overhead through efficient caching and lazy key loading
  • Security: Cryptographic verification of key metadata, secure key wrapping
  • Operability: Administrative tools for key life cycle and cache management
  • Extensibility: Plugin architecture for custom key provider implementations
  • Testing: Comprehensive unit and integration tests coverage

Architecture

The implementation follows a layered architecture:

  1. Provider Layer: Pluggable ManagedKeyProvider for KMS integration
  2. Management Layer: KeyMetaAdmin API for administrative operations
  3. Persistence Layer: KeymetaTableAccessor for metadata storage
  4. Cache Layer: ManagedKeyDataCache and SystemKeyCache for performance
  5. Service Layer: Coprocessor endpoints for client-server communication

Areas for Review

I would particularly appreciate feedback on:

  1. API Design: Is the KeymetaAdmin API intuitive and complete for common key management scenarios?
  2. Security Model: Does the double-wrapping architecture (DEK wrapped by STK, STK from KMS) provide appropriate security guarantees?
  3. Performance: Are there potential bottlenecks in the caching strategy or table access patterns?
  4. Operational Aspects: Are the administrative commands sufficient for the needs of operations and monitoring?
  5. Testing Coverage: Are there additional test scenarios we should cover?
  6. Documentation: Is the design document clear? What additional documentation would be helpful?
  7. Compatibility: Any concerns about interaction with existing HBase features?

Next Steps

After incorporating community feedback, I plan to:

  1. Address any issues identified during review
  2. Implement the work identified for future phases
  3. Add additional documentation to the reference guide

How to Review

This PR introduces changes across multiple modules. Rather than reviewing all 143 files, I recommend focusing on these core components first:

Core Architecture:

  1. Design document (linked above) - architectural overview
  2. ManagedKeyProvider, KeymetaAdmin, ManagedKeyData interfaces (hbase-common)
  3. ManagedKeys.proto - protocol definitions
  4. HMaster and misc. procedure changes - initialization of keymeta in a predictable order
  5. FixedFileTrailer + reader/writer changes - encode/decode additional encryption key in store files

Key Implementation:

  1. KeymetaAdminImpl, KeymetaTableAccessor, ManagedKeyUtils, SystemKeyManager, SystemKeyAccessor - admin operations and persistence
  2. ManagedKeyDataCache, SystemKeyCache - caching layer
  3. SecurityUtil - encryption context creation

Client & Shell:

  1. KeymetaAdminClient - client API
  2. Shell commands and Ruby wrappers

Tests & Examples:

  1. TestKeymetaAdminImpl, TestManagedKeymeta - for usage patterns
  2. key_provider_keymeta_migration_test.rb - E2E migration steps

Note: The remaining files contain secondary changes (API updates, test helpers, configuration constants, etc.) that can be reviewed later or skipped for initial feedback.

haridsv avatar Oct 29 '25 08:10 haridsv

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 2m 45s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 1s No case conflicting files found.
+0 :ok: codespell 0m 1s codespell was not available.
+0 :ok: detsecrets 0m 2s detect-secrets was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: yamllint 0m 0s yamllint was not available.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
+1 :green_heart: hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 :ok: mvndep 0m 21s Maven dependency ordering for branch
+1 :green_heart: mvninstall 5m 59s master passed
+1 :green_heart: compile 15m 44s master passed
+1 :green_heart: checkstyle 3m 2s master passed
+1 :green_heart: spotbugs 24m 16s master passed
+1 :green_heart: spotless 1m 14s branch has no errors when running spotless:check.
-0 :warning: patch 2m 19s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 13s Maven dependency ordering for patch
+1 :green_heart: mvninstall 5m 18s the patch passed
+1 :green_heart: compile 17m 53s the patch passed
+1 :green_heart: cc 17m 53s the patch passed
-0 :warning: javac 17m 53s /results-compile-javac-root.txt root generated 8 new + 1890 unchanged - 6 fixed = 1898 total (was 1896)
+1 :green_heart: blanks 0m 0s The patch has no blanks issues.
-0 :warning: checkstyle 3m 5s /results-checkstyle-root.txt root: The patch generated 14 new + 101 unchanged - 0 fixed = 115 total (was 101)
-0 :warning: rubocop 0m 34s /results-rubocop.txt The patch generated 23 new + 488 unchanged - 17 fixed = 511 total (was 505)
+1 :green_heart: xmllint 0m 0s No new issues.
-1 :x: spotbugs 3m 1s /new-spotbugs-hbase-server.html hbase-server generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
-1 :x: spotbugs 13m 20s /new-spotbugs-root.html root generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
+1 :green_heart: hadoopcheck 16m 1s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 :green_heart: hbaseprotoc 11m 39s the patch passed
+1 :green_heart: spotless 1m 30s patch has no errors when running spotless:check.
_ Other Tests _
+1 :green_heart: asflicense 2m 19s The patch does not generate ASF License warnings.
150m 42s
Reason Tests
SpotBugs module:hbase-server
Possible null pointer dereference in org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getActiveEntry(byte[], String) due to return value of called method Dereferenced at ManagedKeyDataCache.java:org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getActiveEntry(byte[], String) due to return value of called method Dereferenced at ManagedKeyDataCache.java:[line 244]
Possible null pointer dereference in org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getEntry(byte[], String, String, byte[]) due to return value of called method Dereferenced at ManagedKeyDataCache.java:org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getEntry(byte[], String, String, byte[]) due to return value of called method Dereferenced at ManagedKeyDataCache.java:[line 164]
SpotBugs module:root
Possible null pointer dereference in org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getActiveEntry(byte[], String) due to return value of called method Dereferenced at ManagedKeyDataCache.java:org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getActiveEntry(byte[], String) due to return value of called method Dereferenced at ManagedKeyDataCache.java:[line 244]
Possible null pointer dereference in org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getEntry(byte[], String, String, byte[]) due to return value of called method Dereferenced at ManagedKeyDataCache.java:org.apache.hadoop.hbase.keymeta.ManagedKeyDataCache.getEntry(byte[], String, String, byte[]) due to return value of called method Dereferenced at ManagedKeyDataCache.java:[line 164]
Subsystem Report/Notes
Docker ClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests dupname asflicense codespell detsecrets spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti cc buflint bufcompat hbaseprotoc xmllint rubocop yamllint
uname Linux 561daf93846d 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 020adaa0643a7564939a09e1701c62cfe849300a
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 161 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/1/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Oct 29 '25 10:10 Apache-HBase

Fixing misc. issues flagged in the PR validation build via PR #7423

haridsv avatar Oct 30 '25 04:10 haridsv

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 3m 31s Docker mode activated.
-0 :warning: yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 :ok: mvndep 0m 24s Maven dependency ordering for branch
+1 :green_heart: mvninstall 9m 57s master passed
+1 :green_heart: compile 6m 44s master passed
+1 :green_heart: javadoc 10m 32s master passed
+1 :green_heart: shadedjars 12m 24s branch has no errors when building our shaded downstream artifacts.
-0 :warning: patch 13m 36s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 24s Maven dependency ordering for patch
+1 :green_heart: mvninstall 9m 0s the patch passed
+1 :green_heart: compile 6m 30s the patch passed
+1 :green_heart: javac 6m 30s the patch passed
-0 :warning: javadoc 1m 14s /results-javadoc-javadoc-hbase-server.txt hbase-server generated 2 new + 63 unchanged - 0 fixed = 65 total (was 63)
-0 :warning: javadoc 6m 16s /results-javadoc-javadoc-root.txt root generated 2 new + 210 unchanged - 0 fixed = 212 total (was 210)
+1 :green_heart: shadedjars 11m 44s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 :x: unit 52m 50s /patch-unit-root.txt root in the patch failed.
139m 6s
Subsystem Report/Notes
Docker ClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests javac javadoc unit compile shadedjars
uname Linux 62d26d6fad5c 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 973c81a72925865c27aacba6d02c693e1bbc3389
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/2/testReport/
Max. process+thread count 969 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/2/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Oct 30 '25 19:10 Apache-HBase

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 3m 34s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 2s No case conflicting files found.
+0 :ok: codespell 0m 2s codespell was not available.
+0 :ok: detsecrets 0m 2s detect-secrets was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: yamllint 0m 0s yamllint was not available.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
+1 :green_heart: hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 :ok: mvndep 0m 26s Maven dependency ordering for branch
+1 :green_heart: mvninstall 10m 4s master passed
+1 :green_heart: compile 25m 51s master passed
+1 :green_heart: checkstyle 4m 7s master passed
+1 :green_heart: spotbugs 37m 58s master passed
+1 :green_heart: spotless 1m 39s branch has no errors when running spotless:check.
-0 :warning: patch 3m 12s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 22s Maven dependency ordering for patch
+1 :green_heart: mvninstall 8m 44s the patch passed
+1 :green_heart: compile 27m 8s the patch passed
+1 :green_heart: cc 27m 8s the patch passed
-0 :warning: javac 27m 8s /results-compile-javac-root.txt root generated 4 new + 1894 unchanged - 2 fixed = 1898 total (was 1896)
+1 :green_heart: blanks 0m 0s The patch has no blanks issues.
-0 :warning: checkstyle 4m 48s /results-checkstyle-root.txt root: The patch generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
-0 :warning: rubocop 0m 40s /results-rubocop.txt The patch generated 20 new + 488 unchanged - 17 fixed = 508 total (was 505)
+1 :green_heart: xmllint 0m 0s No new issues.
+1 :green_heart: spotbugs 34m 20s the patch passed
+1 :green_heart: hadoopcheck 20m 2s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 :green_heart: hbaseprotoc 11m 16s the patch passed
-1 :x: spotless 1m 24s patch has 22 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 :green_heart: asflicense 1m 50s The patch does not generate ASF License warnings.
209m 46s
Subsystem Report/Notes
Docker ClientAPI=1.48 ServerAPI=1.48 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests dupname asflicense codespell detsecrets spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti cc buflint bufcompat hbaseprotoc xmllint rubocop yamllint
uname Linux 8ca36f82aa94 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 973c81a72925865c27aacba6d02c693e1bbc3389
Default Java Eclipse Adoptium-17.0.11+9
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/2/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 162 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/2/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Oct 30 '25 20:10 Apache-HBase

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 31s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 1s No case conflicting files found.
+0 :ok: codespell 0m 1s codespell was not available.
+0 :ok: detsecrets 0m 1s detect-secrets was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: yamllint 0m 0s yamllint was not available.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
+1 :green_heart: hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 :ok: mvndep 0m 18s Maven dependency ordering for branch
+1 :green_heart: mvninstall 3m 37s master passed
+1 :green_heart: compile 8m 36s master passed
+1 :green_heart: checkstyle 2m 28s master passed
+1 :green_heart: spotbugs 14m 33s master passed
+1 :green_heart: spotless 0m 51s branch has no errors when running spotless:check.
-0 :warning: patch 1m 39s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 12s Maven dependency ordering for patch
+1 :green_heart: mvninstall 3m 11s the patch passed
+1 :green_heart: compile 8m 40s the patch passed
+1 :green_heart: cc 8m 40s the patch passed
-0 :warning: javac 8m 40s /results-compile-javac-root.txt root generated 3 new + 1895 unchanged - 1 fixed = 1898 total (was 1896)
+1 :green_heart: blanks 0m 0s The patch has no blanks issues.
-0 :warning: checkstyle 2m 25s /results-checkstyle-root.txt root: The patch generated 1 new + 101 unchanged - 0 fixed = 102 total (was 101)
-0 :warning: rubocop 0m 31s /results-rubocop.txt The patch generated 20 new + 488 unchanged - 17 fixed = 508 total (was 505)
+1 :green_heart: xmllint 0m 0s No new issues.
+1 :green_heart: spotbugs 15m 26s the patch passed
+1 :green_heart: hadoopcheck 12m 24s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 :green_heart: hbaseprotoc 5m 27s the patch passed
-1 :x: spotless 0m 38s patch has 22 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 :green_heart: asflicense 1m 12s The patch does not generate ASF License warnings.
90m 34s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests dupname asflicense codespell detsecrets spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti cc buflint bufcompat hbaseprotoc xmllint rubocop yamllint
uname Linux b6f994373470 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 3de7a7ce6835571d1ac8e48634e204e7beb0a9cc
Default Java Eclipse Adoptium-17.0.11+9
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/3/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 190 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/3/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Nov 04 '25 06:11 Apache-HBase

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 30s Docker mode activated.
-0 :warning: yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 :ok: mvndep 0m 15s Maven dependency ordering for branch
+1 :green_heart: mvninstall 3m 33s master passed
+1 :green_heart: compile 2m 14s master passed
+1 :green_heart: javadoc 3m 52s master passed
+1 :green_heart: shadedjars 6m 23s branch has no errors when building our shaded downstream artifacts.
-0 :warning: patch 7m 11s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 11s Maven dependency ordering for patch
+1 :green_heart: mvninstall 3m 6s the patch passed
+1 :green_heart: compile 2m 16s the patch passed
+1 :green_heart: javac 2m 16s the patch passed
-0 :warning: javadoc 0m 26s /results-javadoc-javadoc-hbase-server.txt hbase-server generated 2 new + 63 unchanged - 0 fixed = 65 total (was 63)
-0 :warning: javadoc 1m 56s /results-javadoc-javadoc-root.txt root generated 2 new + 210 unchanged - 0 fixed = 212 total (was 210)
+1 :green_heart: shadedjars 6m 14s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 :x: unit 282m 56s /patch-unit-root.txt root in the patch failed.
325m 53s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests javac javadoc unit compile shadedjars
uname Linux 17bcd0dcc49f 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 3de7a7ce6835571d1ac8e48634e204e7beb0a9cc
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/3/testReport/
Max. process+thread count 8105 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/3/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Nov 04 '25 10:11 Apache-HBase

:confetti_ball: +1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 31s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 1s No case conflicting files found.
+0 :ok: codespell 0m 1s codespell was not available.
+0 :ok: detsecrets 0m 1s detect-secrets was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: yamllint 0m 0s yamllint was not available.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
+1 :green_heart: hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 :ok: mvndep 0m 32s Maven dependency ordering for branch
+1 :green_heart: mvninstall 3m 32s master passed
+1 :green_heart: compile 8m 34s master passed
+1 :green_heart: checkstyle 2m 23s master passed
+1 :green_heart: spotbugs 14m 57s master passed
+1 :green_heart: spotless 0m 48s branch has no errors when running spotless:check.
-0 :warning: patch 1m 41s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 11s Maven dependency ordering for patch
+1 :green_heart: mvninstall 3m 11s the patch passed
+1 :green_heart: compile 8m 34s the patch passed
+1 :green_heart: cc 8m 34s the patch passed
-0 :warning: javac 8m 34s /results-compile-javac-root.txt root generated 3 new + 1895 unchanged - 1 fixed = 1898 total (was 1896)
+1 :green_heart: blanks 0m 0s The patch has no blanks issues.
-0 :warning: checkstyle 2m 19s /results-checkstyle-root.txt root: The patch generated 1 new + 103 unchanged - 0 fixed = 104 total (was 103)
-0 :warning: rubocop 0m 37s /results-rubocop.txt The patch generated 20 new + 488 unchanged - 17 fixed = 508 total (was 505)
+1 :green_heart: xmllint 0m 0s No new issues.
+1 :green_heart: spotbugs 15m 57s the patch passed
+1 :green_heart: hadoopcheck 12m 31s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 :green_heart: hbaseprotoc 5m 41s the patch passed
+1 :green_heart: spotless 0m 46s patch has no errors when running spotless:check.
_ Other Tests _
+1 :green_heart: asflicense 1m 20s The patch does not generate ASF License warnings.
92m 9s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests dupname asflicense codespell detsecrets spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti cc buflint bufcompat hbaseprotoc xmllint rubocop yamllint
uname Linux 0d42a41b26d8 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / c22e111a49105c9d33d5fbefec3e125e65572d87
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 187 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-procedure hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/4/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Nov 05 '25 06:11 Apache-HBase

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 45s Docker mode activated.
-0 :warning: yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 :ok: mvndep 0m 23s Maven dependency ordering for branch
+1 :green_heart: mvninstall 5m 8s master passed
+1 :green_heart: compile 3m 33s master passed
+1 :green_heart: javadoc 6m 32s master passed
+1 :green_heart: shadedjars 8m 49s branch has no errors when building our shaded downstream artifacts.
-0 :warning: patch 9m 59s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 12s Maven dependency ordering for patch
+1 :green_heart: mvninstall 4m 9s the patch passed
+1 :green_heart: compile 3m 17s the patch passed
+1 :green_heart: javac 3m 17s the patch passed
-0 :warning: javadoc 0m 40s /results-javadoc-javadoc-hbase-server.txt hbase-server generated 2 new + 63 unchanged - 0 fixed = 65 total (was 63)
-0 :warning: javadoc 3m 5s /results-javadoc-javadoc-root.txt root generated 2 new + 210 unchanged - 0 fixed = 212 total (was 210)
+1 :green_heart: shadedjars 8m 17s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 :x: unit 297m 27s /patch-unit-root.txt root in the patch failed.
356m 15s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/4/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests javac javadoc unit compile shadedjars
uname Linux 2eef51d875cc 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / c22e111a49105c9d33d5fbefec3e125e65572d87
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/4/testReport/
Max. process+thread count 8210 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-procedure hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/4/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Nov 05 '25 11:11 Apache-HBase

:broken_heart: -1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 55s Docker mode activated.
_ Prechecks _
+1 :green_heart: dupname 0m 1s No case conflicting files found.
+0 :ok: codespell 0m 1s codespell was not available.
+0 :ok: detsecrets 0m 1s detect-secrets was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: buf 0m 0s buf was not available.
+0 :ok: yamllint 0m 0s yamllint was not available.
+1 :green_heart: @author 0m 0s The patch does not contain any @author tags.
+1 :green_heart: hbaseanti 0m 0s Patch does not have any anti-patterns.
_ master Compile Tests _
+0 :ok: mvndep 0m 36s Maven dependency ordering for branch
+1 :green_heart: mvninstall 4m 28s master passed
+1 :green_heart: compile 10m 48s master passed
+1 :green_heart: checkstyle 2m 47s master passed
+1 :green_heart: spotbugs 17m 19s master passed
+1 :green_heart: spotless 1m 7s branch has no errors when running spotless:check.
-0 :warning: patch 2m 7s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 :ok: mvndep 0m 11s Maven dependency ordering for patch
+1 :green_heart: mvninstall 3m 49s the patch passed
+1 :green_heart: compile 10m 36s the patch passed
+1 :green_heart: cc 10m 36s the patch passed
-0 :warning: javac 10m 36s /results-compile-javac-root.txt root generated 2 new + 1896 unchanged - 0 fixed = 1898 total (was 1896)
+1 :green_heart: blanks 0m 1s The patch has no blanks issues.
-0 :warning: checkstyle 2m 32s /results-checkstyle-root.txt root: The patch generated 1 new + 102 unchanged - 1 fixed = 103 total (was 103)
-0 :warning: rubocop 0m 47s /results-rubocop.txt The patch generated 34 new + 488 unchanged - 17 fixed = 522 total (was 505)
+1 :green_heart: xmllint 0m 1s No new issues.
+1 :green_heart: spotbugs 20m 7s the patch passed
+1 :green_heart: hadoopcheck 14m 29s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 :green_heart: hbaseprotoc 6m 31s the patch passed
-1 :x: spotless 0m 48s patch has 23 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 :green_heart: asflicense 1m 33s The patch does not generate ASF License warnings.
110m 51s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR https://github.com/apache/hbase/pull/7421
JIRA Issue HBASE-29368
Optional Tests dupname asflicense codespell detsecrets spotless javac spotbugs checkstyle compile hadoopcheck hbaseanti cc buflint bufcompat hbaseprotoc xmllint rubocop yamllint
uname Linux a74441611868 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / ffc1743ced25936728f92074c83e3e63b75b53e9
Default Java Eclipse Adoptium-17.0.11+9
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/5/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 190 (vs. ulimit of 30000)
modules C: hbase-protocol-shaded hbase-common hbase-client hbase-procedure hbase-server hbase-testing-util hbase-thrift hbase-shell . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7421/5/console
versions git=2.34.1 maven=3.9.8 spotbugs=4.7.3 rubocop=1.37.1 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

Apache-HBase avatar Nov 28 '25 07:11 Apache-HBase

You can run mvn spotless:apply for spotless failures

Umeshkumar9414 avatar Dec 04 '25 11:12 Umeshkumar9414