luoyuxia opened a new pull request, #3630:
URL: https://github.com/apache/fluss/pull/3630

   ### Purpose
   
   Linked issue: N/A (FIP-28 follow-up)
   
   This PR adds historical partition lookup support for datalake-enabled 
primary key tables. It lets clients resolve an expired Fluss partition to the 
corresponding lake partition and serve point lookups from lake storage when the 
partition is no longer available in Fluss.
   
   ### Brief change log
   
   - Add historical partition metadata utilities and client-side lookup 
plumbing for requests carrying partition names.
   - Add lake lookup SPI plus the Paimon implementation, including key 
conversion, row encoding, schema evolution padding, and lookup cache temp 
context.
   - Route historical lookup requests through TabletServer/ReplicaManager to 
lake lookup instead of normal KV lookup.
   - Add dedicated historical lookup admission control with 
`netty.server.max-queued-historical-requests` and a retriable throttle error.
   - Add client-side backoff for historical lookup throttling without blocking 
normal lookup dispatch.
   
   ### Tests
   
   - `./mvnw test -pl fluss-rpc -am -Dtest=ApiErrorTest -DfailIfNoTests=false`
   - `./mvnw test -pl fluss-client -am -Dtest=LookupSenderTest 
-DfailIfNoTests=false`
   - `./mvnw test -pl fluss-server -am -Dtest=HistoricalLakeLookupManagerTest 
-DfailIfNoTests=false`
   - `./mvnw spotless:check -pl 
fluss-common,fluss-rpc,fluss-client,fluss-server`
   
   Full affected-module `verify` was started locally, but the environment hit 
unrelated local-state issues: disk usage was above the server disk-lock 
threshold and stale `target/test-classes` contained a removed 
`LakeStorageUtilsTest` class.
   
   ### API and Format
   
   - Adds `LakeTableLookuper`/lookup context APIs for lake lookup 
implementations.
   - Adds `partition_name` to lookup RPC bucket requests for historical lookup 
routing.
   - Adds `HISTORICAL_LOOKUP_THROTTLED` RPC error mapping.
   - Adds `netty.server.max-queued-historical-requests` server config.
   
   ### Documentation
   
   - Adds the FIP-28 historical partition lookup design documentation in 
English and Chinese.
   
   ### Generative AI disclosure
   
   Yes. Generated with OpenAI Codex and reviewed by the human developer.
   


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