zanmato1984 commented on PR #41614:
URL: https://github.com/apache/arrow/pull/41614#issuecomment-2107835094
> I think if I understand correctly you are saying that the value returned
by `rhs.Empty` could change (from true to false I presume?) between the
`UpdateRhs` call and the `IsUpToDateWithLhsRow` call and this becomes a logic
bug?
Thank you Weston. Your presumption is correct. I've explained the issue in
more detail in my previous reply to Antoine.
> It might be easier / simpler to wrap some part of `ProcessInner` in a
mutex that is also wrapped around state modification done by the parts of the
code that add data. However, I realize that may have performance impact.
Actually I was trying to fix it using mutex, here is a single-mutex version
[`223951e`
(#41614)](https://github.com/apache/arrow/pull/41614/commits/223951e031012e948027ce8d26f1ed3bb37cacf5)
and a double-mutex version [`ade727e`
(#41614)](https://github.com/apache/arrow/pull/41614/commits/ade727e68488aad1f34ea635800b1b579c5fe17a),
both showing a up to 10% performance regression. This forces me to think of a
lockless fix (the current one). But if the performance down is acceptable when
code complexity is a consideration, I'm totally fine to go back to the mutex
solution (maybe the double-mutex one is a fair tradeoff). Any recommendation?
--
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]