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

Open Beginner friendly
#51,351 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
cpp
Domain
data, security

Research direction

Start in cpp/src/parquet/encryption/file_key_wrapper.cc at the SetDefaultIfEmpty call around line 38 and the GetKmsClient call around line 43. Compare this write path with the read paths, then verify that the KMS client receives the defaulted configuration rather than the original empty values. Run the relevant Parquet encryption tests and confirm empty KMS settings use their defaults.

Written by the indexing model from the issue text.

Description

Component: C++ Component: Parquet

See this comment for context: https://github.com/apache/arrow/pull/51350#discussion_r4022003610

SetDefaultIfEmpty is called on the kms_connection_config_ member, but then the original, unmodified config is passed to GetKmsClient.

This means that the KMS URL and ID can end up being empty when passed to the KmsClientFactory. In the read paths this is not the case, the defaults are used to replace empty values before creating the client factory.

Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
93

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/arrow

All issues in apache/arrow

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.