JingsongLi opened a new pull request, #738:
URL: https://github.com/apache/paimon-rust/pull/738

   ### Purpose
   
   Add a production-oriented single-node point-query service for Paimon tables. 
The first capability resolves snapshot-consistent Blob descriptors by database, 
table, and key fields, while the crate and process boundaries remain generic 
enough to add projected non-Blob fields later.
   
   Linked issue: none yet.
   
   ### Brief change log
   
   - Add `paimon-query-service` with typed key normalization, policy 
validation, bounded scan planning, strict snapshot selection, snapshot-pinned 
caching, and singleflight miss coalescing.
   - Add `paimon-query-service-server` with bearer-token authorization, 
explicit anonymous opt-in, request and connection resource limits, graceful 
H1/H2 draining, JSON errors, readiness checks, metrics, and non-blocking 
structured logs.
   - Extend Paimon table scans with Blob descriptor projection, scan 
statistics, strict time travel, and a typed missing-snapshot error.
   - Keep the initial Blob HTTP API under `/api/blob/v1`; use generic 
query-service crate, binary, configuration, and metric naming for future 
point-query capabilities.
   
   ### Tests
   
   - `cargo test -p paimon-query-service --lib --test lookup` (25 passed)
   - `cargo test -p paimon-query-service-server --lib` (25 passed)
   - `cargo clippy -p paimon-query-service -p paimon-query-service-server 
--all-targets -- -D warnings`
   - `cargo fmt --all -- --check`
   - `PYTHONDONTWRITEBYTECODE=1 python3 scripts/dependencies.py verify`
   - `cargo deny --locked --all-features check --warn unmaintained advisories 
licenses` (passes with the existing `paste 1.0.15` unmaintained warning)
   
   A local full-workspace run reached the existing DataFusion integration suite 
but seven fixture-dependent tests could not find 
`default.partitioned_log_table` or `default.multi_partitioned_log_table`; the 
Paimon core suite completed before those fixture failures.
   
   ### API and Format
   
   - Adds the versioned 
`/api/blob/v1/databases/{database}/tables/{table}/descriptors:batchGet` HTTP 
endpoint and operational endpoints.
   - Adds public query-service Rust types and strict time-travel/scan-stat APIs.
   - No storage or serialization format change.
   
   ### Documentation
   
   Adds `crates/query-service-server/README.md` with configuration, 
authentication, resource limits, API examples, metrics, and operational 
behavior.
   


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