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

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: #67470, #66782 (separate Iceberg/Azure work; not included as 
feature changes here)
   
   Problem Summary:
   
   Doris currently exposes Databricks interoperability through the Iceberg 
catalog path. This draft adds an experimental native Delta Lake catalog that 
reads Delta metadata directly with Delta Kernel, rather than relying on an 
Iceberg mirror.
   
   The draft contains:
   
   - A new `type=delta` connector with path and Unity Catalog adapters; Delta 
Kernel 4.3.1, Unity Catalog client integration, snapshot/time-travel planning, 
partition pruning, and an explicit supported-feature gate.
   - Native Parquet scans, Delta deletion vectors and column mapping, plus 
table-scoped AWS, Azure SAS and GCS credential handling. Shared Azure SAS/GCS 
backend prerequisites are included because the Delta adapter emits those 
credentials.
   - Opt-in writes (`delta.write.enabled=true`): create, append, overwrite, 
restricted copy-on-write DELETE/UPDATE/MERGE, TRUNCATE and Unity catalog 
registration deletion. Catalog-managed snapshots/commits use the Unity/Kernel 
path.
   - Connector SPI 13.0 changes, snapshot-pinned COW routing and write 
transactions, typed file-commit reports integrated with the current 
final-report acknowledgment path, and focused FE/BE tests and Delta regression 
suites.
   
   This is a standalone, single-commit branch based on master `0c29961f45e`, 
extracted from local development commit `1d957e6c8bb`. Course/dbt changes, 
local configuration, independent Iceberg ADLS normalization and Iceberg Azure 
dependency additions are excluded.
   
   #### Draft status / validation boundary
   
   This is **not ready to merge** and does not claim production Databricks 
support.
   
   Static checks passed on the source development checkout: SPI/Delta/FE-core 
Checkstyle, connector import and metadata-funnel gates, BE header hygiene, 
scoped clang-format 16 checks, and Java generation for the modified Thrift 
definitions. The extracted branch passed code whitespace and scope/content 
checks. Auto-generated regression .out files retain their original 
tab-separated formatting (including empty fields and section separators); their 
results were not edited by hand.
   
   Full FE/BE compilation and FE/BE unit tests have **not been rerun on this 
extracted branch**. Full compilation is being handled by the author. Prior 
local fixture/SQL results are historical evidence only; they are not validation 
of this draft.
   
   A stale BE test enum reference found while extracting the branch is updated 
to the current `ObjStorageProvider` name. The separate Azure auth source 
formatting is normalized with clang-format 16. Neither change is a claim of 
successful compilation.
   
   Still required before merge:
   
   - Standard FE/BE builds and relevant unit tests.
   - Path and Unity SQL regression comparison with default FileScannerV2.
   - Real Databricks workspace and cloud-storage E2E verification.
   - Long-query credential renewal, feature/version compatibility and supported 
DML semantics review. ABAC row filters/masks are rejected, not executed by this 
implementation.
   
   #### Outbound HTTP / privilege surface
   
   Unity REST and object-storage requests are outbound HTTP/SSRF surfaces to 
endpoints supplied through catalog properties or returned table/storage 
metadata. Creating or changing the catalog configuration requires catalog 
CREATE or ALTER privilege; scanning/writing requires the corresponding table 
privileges and Unity/storage credentials. This connector introduces no 
URL-based artifact download or dynamic code loading.
   
   ### Release note
   
   Add an experimental native Delta Lake catalog with path and Unity Catalog 
adapters. Databricks and multi-cloud production readiness remains unverified.
   
   ### Check List (For Author)
   
   - Test:
       - [x] Manual static validation (details and limitations above)
       - [ ] Unit Test — rerun FE SPI/Delta/COW/write-report tests and relevant 
BE tests on this branch
       - [ ] Regression test — rerun native Delta path/Unity suites with the 
default scanner
   - Behavior changed:
       - [ ] No.
       - [x] Yes. Add an experimental external Delta catalog and shared storage 
prerequisites.
   - Does this need documentation?
       - [ ] No.
       - [x] Yes. A progress/validation record is included; user-facing website 
documentation is still pending.
   
   ### 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