Dricmoy opened a new pull request, #53996:
URL: https://github.com/apache/arrow/pull/53996

   **Draft for author review.** This follows #53949. The author's personal 
review of all changes is pending; this PR will remain a draft until that review 
is complete.
   
   ### Rationale for this change
   
   `FileKeyWrapper` fills missing KMS instance ID and URL values in its stored 
configuration, but passes the original configuration to `GetKmsClient`. A 
client factory can therefore receive empty strings even though the file's key 
material contains `"DEFAULT"` values.
   
   ### 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 default values for 
empty KMS connection fields.
   - Give the dataset encryption tests separate writer and reader crypto 
factories. The reader is intentionally given fewer keys, so its tests need an 
independent cache to check that missing keys are rejected.
   
   ### Are these changes tested?
   
   - Local C++ encryption key-management suite: 24 tests passed.
   - Both local Python encryption test files: 62 passed, 1 skipped. The skipped 
case requires a build without encryption support.
   - C++ and Python formatting and lint, and `git diff --check`, passed.
   - Fork CI for commit `537e296384`: 
[Python](https://github.com/Dricmoy/arrow/actions/runs/38923806919), 
[Dev](https://github.com/Dricmoy/arrow/actions/runs/38923806888), and 
[Docs](https://github.com/Dricmoy/arrow/actions/runs/38923806885) passed. The 
[C++ workflow](https://github.com/Dricmoy/arrow/actions/runs/38852310915) for 
the preceding commit also passed after retrying a dependency download failure; 
the follow-up commit changes only Python tests.
   
   ### Are there any user-facing changes?
   
   KMS client factories receive default instance ID and URL values when those 
fields are 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 code and CI failures, prepare the implementation 
and test changes, run validation, and draft this description. Human review and 
confirmation of understanding are still pending.
   
   **PR code and description written by:**
   
   - [ ] Human
   - [x] AI
   
   **Reviewed before submission by:**
   
   - [ ] Human
   - [x] AI
   - [ ] Not reviewed
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to