This is an automated email from the ASF dual-hosted git repository.
zhangstar333 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new d454100765c [feature](lance) Add thrift definitions for Lance index
entries inspection (#67275)
d454100765c is described below
commit d454100765c63e62dca3d2d3e17b873ef668a634
Author: kid <[email protected]>
AuthorDate: Mon Aug 31 11:02:48 2026 +0800
[feature](lance) Add thrift definitions for Lance index entries inspection
(#67275)
### What problem does this PR solve?
Issue Number: #66497
Related PR: #66671 (branch-4.1)
Problem Summary:
PR #66671 on `branch-4.1` adds the read-only `lance_index_entries`
table-valued function — delivery slice 2 of the Lance index lifecycle
design (#66497) — and wires it through the BE meta-scanner
(`TMetaScanRange`) and the FE master schema-table service
(`TFetchSchemaTableDataRequest`). That feature requires four thrift
additions:
- `TMetadataType.LANCE_INDEX_ENTRIES` (Types.thrift)
- `TLanceIndexMetadataParams {catalog, database, table}`
(PlanNodes.thrift)
- `TMetaScanRange.lance_index_params`, field 18 (PlanNodes.thrift)
- `TMetadataTableRequestParams.lance_index_metadata_params`, field 16
(FrontendService.thrift)
Thrift field ids and enum values are a wire contract shared by all
maintained branches: once branch-4.1 clusters run with these
assignments, master must never assign the same ids to anything else, and
mixed-version clusters during rolling upgrades must interpret them
identically (same precedent as the `reserved_field_15` reservation in
`TMetadataTableRequestParams`). This PR lands the same definitions on
master so the ids stay reserved and aligned, as requested in the #66671
review.
Notes on the assignments:
- `TMetadataType = 14` is already `STREAMS` on master, so
`LANCE_INDEX_ENTRIES` takes **15** here. #66671 is being aligned to 15
as well before it merges, so both branches agree on the value; 14
remains STREAMS-only.
- Field 18 (`TMetaScanRange`) and field 16
(`TMetadataTableRequestParams`) match the branch-4.1 assignments
exactly; both are unused on master today.
- This is an IDL-only change: no FE/BE code on master references these
definitions yet, so there is no behavior change on master. The full
feature code lands on master with the later lifecycle slices tracked in
#66497.
### Release note
None - thrift IDL compatibility definitions only; no behavior change.
---
gensrc/thrift/FrontendService.thrift | 1 +
gensrc/thrift/PlanNodes.thrift | 8 ++++++++
gensrc/thrift/Types.thrift | 3 +++
3 files changed, 12 insertions(+)
diff --git a/gensrc/thrift/FrontendService.thrift
b/gensrc/thrift/FrontendService.thrift
index 9f197d691f8..90f4a4b41d0 100644
--- a/gensrc/thrift/FrontendService.thrift
+++ b/gensrc/thrift/FrontendService.thrift
@@ -955,6 +955,7 @@ struct TMetadataTableRequestParams {
// Reserved for downstream field `current_roles` to keep thrift field ids
// wire-compatible across maintained branches. Do not reuse this id.
15: optional set<string> reserved_field_15
+ 16: optional PlanNodes.TLanceIndexMetadataParams lance_index_metadata_params
}
struct TSchemaTableRequestParams {
diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift
index f3410696977..af4b9c3eb68 100644
--- a/gensrc/thrift/PlanNodes.thrift
+++ b/gensrc/thrift/PlanNodes.thrift
@@ -796,6 +796,13 @@ struct TPartitionBoundary {
6: optional bool range_end_inclusive = false
}
+// Identifies a Lance table for read-only physical index entry inspection.
+struct TLanceIndexMetadataParams {
+ 1: optional string catalog
+ 2: optional string database
+ 3: optional string table
+}
+
struct TMetaScanRange {
1: optional Types.TMetadataType metadata_type
2: optional TIcebergMetadataParams iceberg_params // deprecated
@@ -816,6 +823,7 @@ struct TMetaScanRange {
15: optional string serialized_table;
16: optional list<string> serialized_splits;
17: optional TParquetMetadataParams parquet_params;
+ 18: optional TLanceIndexMetadataParams lance_index_params;
}
// Specification of an individual data range which is held in its entirety
diff --git a/gensrc/thrift/Types.thrift b/gensrc/thrift/Types.thrift
index 0625ba08573..006c553f21c 100644
--- a/gensrc/thrift/Types.thrift
+++ b/gensrc/thrift/Types.thrift
@@ -767,6 +767,9 @@ enum TMetadataType {
PAIMON = 12,
PARQUET = 13,
STREAMS = 14,
+ // Also assigned on branch-4.1 for Lance physical index entries inspection.
+ // Keep the value aligned across maintained branches. Do not renumber.
+ LANCE_INDEX_ENTRIES = 15,
}
// deprecated
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]