Skip to content

GH-51351: [C++][Parquet] Use default KMS connection values - #53949

Closed
Dricmoy wants to merge 2 commits into
apache:mainfrom
Dricmoy:gh-51351-kms-default-config
Closed

Dricmoy wants to merge 2 commits into
apache:mainfrom
Dricmoy:gh-51351-kms-default-config

Conversation

@Dricmoy

@Dricmoy Dricmoy commented Oct 16, 2026 •

Copy link
Copy Markdown

Rationale for this change

FileKeyWrapper applies default KMS instance ID and URL values to its stored connection configuration, but passed the original configuration to GetKmsClient. KMS client factories could therefore receive empty values while the key material contained the defaults.

What changes are included in this PR?

  • Pass the defaulted kms_connection_config_ member to GetKmsClient.
  • Update C++ and Python key-rotation tests to expect defaults for empty KMS instance ID and URL values.
  • Use separate writer and reader crypto factories in the dataset encryption tests. These tests give the reader fewer keys than the writer, so they need independent caches to verify that missing keys are rejected.

Are these changes tested?

  • The full parquet-encryption-key-management-test binary passes: 24 tests.
  • Both Python encryption test files pass against the rebuilt C++ libraries: 62 passed, 1 skipped. The skipped case requires a build without encryption support.
  • C++ formatting and lint, Python formatting and lint, and git diff --check pass.

Are there any user-facing changes?

KMS client factories receive the default instance ID and URL when callers leave those fields empty, matching the read-path behavior. There are no public API or breaking changes.

Closes #51351.

Was AI used for this PR?

AI was used to inspect the relevant code paths and CI failures, prepare the implementation and test changes, run local validation, and draft this description.

PR code and description written by:

  • Human
  • AI

Reviewed before submission by:

  • Human
  • AI
  • Not reviewed

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #51351 has been automatically assigned in GitHub to PR creator.

@Reranko05

Copy link
Copy Markdown
Collaborator

Thanks for the PR. I’m closing it because Arrow’s contributor guidelines require that AI-generated code be reviewed and understood by the person submitting it:

Only submit a PR if you are able to debug and own the changes yourself – review all generated code to understand every detail

Once you’ve reviewed the changes and can own them yourself, you’re welcome to open a new PR.

@Reranko05 Reranko05 closed this Oct 16, 2026
@Dricmoy

Dricmoy commented Oct 16, 2026

Copy link
Copy Markdown
Author

Thanks for the clarification, will do!

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.

[C++][Parquet] FileKeyWrapper uses KMSConnectionConfig without setting default values

2 participants