Gabriel39 opened a new pull request, #70192:
URL: https://github.com/apache/doris/pull/70192

   ### What problem does this PR solve?
   
   Related PR: #70159
   
   The authenticated Iceberg FileIO wrapper inherits typed defaults that reject 
encrypted data, delete, manifest and manifest-list descriptors before the SDK 
encryption delegate can handle them. Forward all four descriptors inside the 
authentication scope, preserving their key metadata and manifest-list key IDs.
   
   This also provides the reproducible encrypted HMS metadata fixture needed 
for the read roadmap:
   
   - Disposable Moto KMS, a separate HMS and a dedicated MinIO bucket in the 
standard Iceberg stack. Reference Iceberg 1.12.0 artifacts are isolated and 
checksum pinned.
   - Real v3 encrypted Parquet, manifests and manifest lists, with two 
snapshots and distinct file key metadata. Both the SDK generic reader and Spark 
SQL verify historical rows `[1, 2]` and `[1, 2, 3, 4]`.
   - Actual metadata-planning failures for missing KMS, injected AWS 
invalid-credential/access-denied responses, and authenticated-decryption 
failure with different KMS-wrapped key material. The injected responses test 
propagation; they do not claim live AWS IAM validation.
   - SQL regression verifies plaintext results and 48 encrypted admission 
rejections across SELECT, COUNT, DESC and system tables, caching on/off, count 
pushdown on/off and repeated reads. Required fixtures fail the enabled suite if 
unavailable. There is no additional test-mode switch.
   
   The existing plugin already packages AWS KMS dependencies; this PR verifies 
that closure rather than adding a second dependency. Encrypted SQL execution 
remains blocked by the existing admission guard. Native encrypted file 
execution is subsequent work.
   
   ### Validation
   
   - Before the fix, all three encrypted descriptor tests failed at the 
inherited FileIO defaults. After the fix, the focused 16-test suite passed.
   - Full connector reactor package: 1,913 passed, 14 existing skips, zero 
failures/errors.
   - Full FE build and FE Checkstyle passed.
   - `test_iceberg_encrypted_hms_metadata`: generated results using the 
standard runner, then normal comparisons passed twice, including the final 
fixture source. Each run executed 48 expected encrypted rejections and verified 
plaintext rows/counts.
   - Real encrypted fixture verification passed with the SDK, Spark SQL and all 
four KMS/key failure checks.
   
   ### Release note
   
   Preserve SDK encryption metadata through authenticated Iceberg FileIO. 
Encrypted SQL execution remains guarded.
   
   ### Check List (For Author)
   
   - Test
       - [x] Regression test
       - [x] Unit Test
       - [x] Manual test (full FE build and isolated external stack)
   - Behavior changed:
       - [x] Yes. Typed FileIO forwarding preserves SDK encryption descriptors.
   - Does this need documentation?
       - [x] Yes. Connector contract and fixture instructions are included.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to