Skip to content

Backport "HBASE-30058 Eliminate unnecessary connection creation in snapshot operations (#8030)" to branch-2#8313

Merged
junegunn merged 1 commit into
apache:branch-2from
junegunn:HBASE-30058-branch-2
Jun 6, 2026
Merged

Backport "HBASE-30058 Eliminate unnecessary connection creation in snapshot operations (#8030)" to branch-2#8313
junegunn merged 1 commit into
apache:branch-2from
junegunn:HBASE-30058-branch-2

Conversation

@junegunn
Copy link
Copy Markdown
Member

@junegunn junegunn commented Jun 5, 2026

No description provided.

…rations (apache#8030)

Each snapshot operation created two short-lived connections in
SnapshotDescriptionUtils.validate() — one for isSecurityAvailable()
to check hbase:acl table existence, and another in
writeAclToSnapshotDescription() to read ACL data. In Kerberos
environments with ZKConnectionRegistry, each connection triggered
a new ZK session with GSSAPI authentication and a TGS request to
the KDC, causing excessive KDC load during batch snapshot operations.

This patch reuses the caller's existing connection instead of
creating new ones:

- isSecurityAvailable() now accepts a Connection parameter
- writeAclToSnapshotDescription() passes the shared connection's
  Table to PermissionStorage.getTablePermissions()
- All callers (MasterRpcServices, RestoreSnapshotProcedure,
  CloneSnapshotProcedure) pass through their available connection

The original validate(SnapshotDescription, Configuration) and
isSecurityAvailable(Configuration) signatures are preserved as
overloads that delegate to the new Connection-based methods, so
existing callers (including tests) keep working unchanged. The
new Connection-based overloads are documented as preferred for
callers that already hold a Connection, to avoid the per-call
connection setup cost.

Co-authored-by: juke-mini666 <juke.mini666@kakaocorp.com>

Signed-off-by: Junegunn Choi <junegunn@apache.org>
@junegunn junegunn added the backport This PR is a back port of some issue or issues already committed to master label Jun 5, 2026
@junegunn junegunn merged commit dfc8d82 into apache:branch-2 Jun 6, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a back port of some issue or issues already committed to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants