mirror of
https://github.com/apache/doris.git
synced 2026-11-04 07:31:17 +00:00
### What problem does this PR solve? Related PR: #69493 Problem Summary: Master still builds paimon-rust v0.4.0-rc1, while the Paimon vector-search work in #69493 needs v0.5.0-rc1 and additional wire fields. Upgrade the native dependency and reserve its Thrift layout on master so later changes cannot reuse the same identifiers for different meanings. The dependency change updates the source URL, archive name, source directory and MD5 checksum together. The schema change adds the following optional fields and their Paimon payload/options types: | Structure | Field | ID | | --- | --- | --- | | `TPaimonFileDesc` | `vector_payload` | 24 | | `TExternalSearchRequest` | `paimon_options` | 6 | | `TFileScanRangeParams` | `external_search_request` | 42 | `TPaimonVectorPayloadType` keeps `BUCKET_SPLIT_BYTES=0` and `MATERIALIZE_OPAQUE_BYTES=1`. Both payload members and all Paimon search-option members are optional. Master does not emit these fields yet; this PR reserves the protocol without enabling SQL/TVF ANN search or upgrading the Paimon Java SDK. Compatibility notes: - `TPaimonFileDesc.20` remains `original_file_path`; comments reserve branch-4.1's `blob_files=21`, `anchor_first_row_id=22` and `anchor_row_count=23`. The vector payload uses 24 rather than the conflicting 21 from the original #69493 diff. - Comments reserve the existing branch-4.1/4.2 shared-search fields `search_query=2`, `search_filter=3`, `vector_search_options=4` and `prefilter=5`. Their query types can be introduced independently on master. - `TFileScanRangeParams.41` remains `fluss_properties`. - The affected definitions were reviewed against current master and branches 3.1, 4.0, 4.1 and 4.2. Existing field IDs and enum values retain their meanings. ### Release note Upgrade the native Paimon Rust reader dependency to v0.5.0-rc1. ### Check List (For Author) - Test: No local build, Thrift generation or unit tests on master, as requested; CI validation pending. During the preceding branch-4.2 work, the archive checksum was verified and the v0.5.0-rc1 dependency was built with Rust 1.94.0. This is not a completed master BE build or BE unit-test run. - Behavior changed: Yes; the bundled native Paimon dependency is upgraded. The new Thrift fields are reserved and remain unset by master producers. - Does this need documentation: No