[core] Fix paimon_incremental_query with limit push down #7269
+36
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose/Problem
paimon_incremental_query by tag with LIMIT throws:
java.lang.ClassCastException: org.apache.paimon.table.source.IncrementalSplit cannot be cast to org.apache.paimon.table.source.DataSplitThe detailed message from the user side is as following:
Caused by: java.lang.ClassCastException: class org.apache.paimon.table.source.IncrementalSplit cannot be cast to class org.apache.paimon.table.source.DataSplit (org.apache.paimon.table.source.IncrementalSplit and org.apache.paimon.table.source.DataSplit are in unnamed module of loader 'app') at org.apache.paimon.table.source.DataTableBatchScan.applyPushDownLimit(DataTableBatchScan.java:147) at org.apache.paimon.table.source.DataTableBatchScan.planWithoutAuth(DataTableBatchScan.java:106) at org.apache.paimon.table.source.AbstractDataTableScan.plan(AbstractDataTableScan.java:104) at org.apache.paimon.spark.PaimonBaseScan.inputSplits(PaimonBaseScan.scala:50) at org.apache.paimon.spark.PaimonBaseScan.inputPartitions(PaimonBaseScan.scala:61) at org.apache.paimon.spark.scan.BaseScan.toBatch(BaseScan.scala:129) at org.apache.paimon.spark.scan.BaseScan.toBatch$(BaseScan.scala:126) at org.apache.paimon.spark.PaimonBaseScan.toBatch(PaimonBaseScan.scala:68) at org.apache.spark.sql.execution.datasources.v2.BatchScanExec.batch$lzycompute(BatchScanExec.scala:45) at org.apache.spark.sql.execution.datasources.v2.BatchScanExec.batch(BatchScanExec.scala:45) at org.apache.spark.sql.execution.datasources.v2.BatchScanExec.inputPartitions$lzycompute(BatchScanExec.scala:59) at org.apache.spark.sql.execution.datasources.v2.BatchScanExec.inputPartitions(BatchScanExec.scala:59)Tests
API and Format
Documentation
Generative AI tooling