zanmato1984 commented on PR #46300:
URL: https://github.com/apache/arrow/pull/46300#issuecomment-2859600956

   > I'm curious, this does only happen when the right side is concerned? The 
update logic is not symmetric?
   
   Right, not symmetric as one might would naturally expect (the same situation 
for hash join as well - right side to build the hash table and left side to 
probe the hash table).
   
   The left VS. right differs in the following aspects:
   1. There is only one left side input but possibly multiple right side 
inputs. The right side inputs are flattened and equally iterated during the 
whole processing (as opposed to traversed in a tree-like fashion).
   2. Several processing logic, and in addition some methods are right side 
inputs only, e.g.: 
https://github.com/apache/arrow/blob/03bdb2a1901a10fc1c0f41bcd7dfa0f68a9a5aff/cpp/src/arrow/acero/asof_join_node.cc#L949
   and 
https://github.com/apache/arrow/blob/03bdb2a1901a10fc1c0f41bcd7dfa0f68a9a5aff/cpp/src/arrow/acero/asof_join_node.cc#L963
   
   So it's normal that some issues are right side only.
   
   But it does remind me that the method I was fixing, namely 
`‎InputState::Advance`, also applies to the left side input, so I think I 
should see if the issue exists for the left side as well, probably by adding a 
symmetric case you suggested.
   
   Thanks for the question!


-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to