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]

Reply via email to