[ https://issues.apache.org/jira/browse/IGNITE-21722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Pereslegin updated IGNITE-21722: -------------------------------------- Description: See stack trace below: {code} Caused by: java.lang.NullPointerException at org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362) at org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274) at org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320) ... 4 more {code} To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster *Update* The following sequence occurs: # {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream (FilterNode). See {{joinType == JoinRelType.LEFT}} branch in {{join()}} method. # {{FilterNode}} receives last requested row and tries to request next batch from the upstream ({{CorrelatedNestedLoopJoinNode}}). # {{CorrelatedNestedLoopJoinNode is in {{IDLE}} state (which is incorrect), so it submits {{join()}} to the execution queue. # {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to {{FILLING_LEFT}} and requests rows from {{leftsource()}}. # Previously submitted {{join()}} starts executing and crashes with {{NullPointerException}}, because {{rightInBuf}} is null. was: See stack trace below: {code} Caused by: java.lang.NullPointerException at org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362) at org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274) at org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320) ... 4 more {code} To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster *Update* The following sequence occurs: CorrelatedNestedLoopJoinNode pushes last row to downstream (FilterNode). See joinType == JoinRelType.LEFT branch in join() method. FilterNode receives last requested row and tries to request next batch from the upstream (CorrelatedNestedLoopJoinNode). CorrelatedNestedLoopJoinNode is in IDLE state (which is incorrect), so it submits join() to the execution queue. CorrelatedNestedLoopJoinNode resets rightInBuf, changes state to FILLING_LEFT and requests rows from leftsource(). Previously submitted join() starts executing and crashes with NullPointerException, because rightInBuf is null. > Sql. NPE in correlated nested loop join > --------------------------------------- > > Key: IGNITE-21722 > URL: https://issues.apache.org/jira/browse/IGNITE-21722 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Konstantin Orlov > Assignee: Pavel Pereslegin > Priority: Major > Labels: calcite2-required, ignite-3 > Time Spent: 10m > Remaining Estimate: 0h > > See stack trace below: > {code} > Caused by: java.lang.NullPointerException > at > org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362) > at > org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320) > ... 4 more > {code} > To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster > *Update* > The following sequence occurs: > # {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream > (FilterNode). See {{joinType == JoinRelType.LEFT}} branch in {{join()}} > method. > # {{FilterNode}} receives last requested row and tries to request next batch > from the upstream ({{CorrelatedNestedLoopJoinNode}}). > # {{CorrelatedNestedLoopJoinNode is in {{IDLE}} state (which is incorrect), > so it submits {{join()}} to the execution queue. > # {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to > {{FILLING_LEFT}} and requests rows from {{leftsource()}}. > # Previously submitted {{join()}} starts executing and crashes with > {{NullPointerException}}, because {{rightInBuf}} is null. -- This message was sent by Atlassian Jira (v8.20.10#820010)