[ 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)