andygrove opened a new pull request, #7314: URL: https://github.com/apache/datafusion-comet/pull/7314
## Which issue does this PR close? Backport of #7260 to `branch-1.2`. Part of #6741 on `main`; #7260 does not close it. ## Rationale for this change An identity broadcast retains every input row, but the JVM columnar-to-row converters reuse their row object. Materializing that iterator can repeat the last row of each batch instead of keeping the build rows, so the broadcast build side returns wrong results. `branch-1.2` has the bug, so it needs the fix before 1.2.0 ships. `branch-1.2` is the newest release branch, so no newer branch needs a backport. #7260 carries no `backport-1.1` label, so no `branch-1.1` backport is part of this. ## What changes are included in this PR? `git cherry-pick -x 84944e98d8` of the squash commit of #7260, with one adaptation. The pick conflicted in the import block of `CometExecRuleSuite.scala`, because `branch-1.2`'s import list is shorter than `main`'s. I kept `branch-1.2`'s list and added `InternalRow`; `IdentityBroadcastMode` merged cleanly. `CometColumnarToRowExec.scala` is identical to the source commit. ## How are these changes tested? On this branch, with a `libcomet` built from `branch-1.2` plus #7085 (this change touches no native code): - `./mvnw test-compile` passes, including scalastyle. - `CometExecRuleSuite` passes: 99 succeeded, 0 failed, including `columnar-to-row identity broadcasts retain every build row`. - With `CometColumnarToRowExec.scala` reverted to `branch-1.2`, that test fails (98 succeeded, 1 failed), so the branch has the bug and the test catches it. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
