LuciferYang opened a new issue, #10084: URL: https://github.com/apache/paimon/issues/10084
### Search before asking - [X] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. ### Paimon version master ### Compute Engine Flink (streaming read of a primary-key postpone table) ### Minimal reproduce step Create a primary-key table with `bucket = -2` (postpone bucket; default `changelog.producer = none`). Write rows so pending, not-yet-assigned data exists before any compaction assigns real buckets. Start a Flink streaming read whose query filters a bucket-key column, for example `WHERE k = 5`, so the predicate is pushed down. The pending rows are silently missing from the stream. ### What doesn't meet your expectations? `BucketSelector.test(partition, bucket, numBucket)` prunes manifest entries by the bucket computed from the predicate's bucket-key values. A postpone entry carries bucket `-2` and no bucket count, so the computed bucket set never contains `-2` and the entry is dropped. With a bucket-key predicate pushed down, a streaming read of a postpone table then loses every pending row, with no error. The manifest-level `mayContain(...)` in the same class already returns `true` for a negative bucket or a non-positive bucket count, and the batch postpone-merge path avoids the problem by not pushing the key predicate at all. Only the entry-level streaming path was missing the guard. Expected: a streaming read with a bucket-key filter still returns the pending rows of a postpone table. ### Anything else? Fix direction: `BucketSelector.test` returns `true` (cannot prune) when the bucket is negative or the bucket count is non-positive, the same condition `mayContain` already uses. Real buckets are pruned exactly as before. ### Are you willing to submit a PR? - [X] I'm willing to submit a PR! -- 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]
