[ https://issues.apache.org/jira/browse/ARROW-17115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17569175#comment-17569175 ]
Jonathan Keane commented on ARROW-17115: ---------------------------------------- A reprex that causes this from R (which is effectively the TPC-H 12 query that segfaults): {code:r} library(arrow) library(dplyr) library(arrowbench) ensure_source("tpch", scale_factor = 10) open_dataset("data/lineitem_10.parquet") %>% filter( l_shipmode %in% c("MAIL", "SHIP"), l_commitdate < l_receiptdate, l_shipdate < l_commitdate, l_receiptdate >= as.Date("1994-01-01"), l_receiptdate < as.Date("1995-01-01") ) %>% inner_join( open_dataset("data/orders_10.parquet"), by = c("l_orderkey" = "o_orderkey") ) %>% group_by(l_shipmode) %>% summarise( high_line_count = sum( if_else( (o_orderpriority == "1-URGENT") | (o_orderpriority == "2-HIGH"), 1L, 0L ) ), low_line_count = sum( if_else( (o_orderpriority != "1-URGENT") & (o_orderpriority != "2-HIGH"), 1L, 0L ) ) ) %>% ungroup() %>% arrange(l_shipmode) %>% collect() {code} > [C++] HashJoin fails if it encounters a batch with more than 32Ki rows > ---------------------------------------------------------------------- > > Key: ARROW-17115 > URL: https://issues.apache.org/jira/browse/ARROW-17115 > Project: Apache Arrow > Issue Type: Bug > Components: C++ > Reporter: Weston Pace > Assignee: Weston Pace > Priority: Blocker > Fix For: 9.0.0 > > > The new swiss join assumes that batches are being broken according to the > morsel/batch model and it assumes those batches have, at most, 32Ki rows > (signed 16-bit indices are used in various places). > However, we are not currently slicing all of our inputs to batches this > small. This is causing conbench to fail and would likely be a problem with > any large inputs. > We should fix this by slicing batches in the engine to the appropriate > maximum size. -- This message was sent by Atlassian Jira (v8.20.10#820010)