[ https://issues.apache.org/jira/browse/DRILL-6295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vlad Rozov updated DRILL-6295: ------------------------------ Description: During query cancellation, in case {{PartitionerDecorator.executeMethodLogic()}} is active (waiting on the {{latch}}), the wait will be interrupted and {{Futures}} cancelled, but there is no guarantee that all {{CustomRunnable}} terminate before returning from {{PartitionerDecorator.executeMethodLogic()}}. On exit, both income and outgoing batches are cleared, leading to clearing of underlying {{Vectors}} and {{DrillBufs}}. This eventually causes unallocated memory access and JVM crash as {{CustomRunnable}} may execute after income/outgoing batches are cleared. (was: During query cancellation, in case {{PartitionerDecorator.executeMethodLogic()}} is active (waiting on the {{latch}}), the wait will be interrupted and {{Future}}s cancelled, but there is no guarantee that all {{CustomRunnable}} terminate before returning from {{PartitionerDecorator.executeMethodLogic()}}. On exit, both income and outgoing batches are cleared, leading to clearing of underlying {{Vector}}s and {{DrillBuf}}s. This eventually causes unallocated memory access and JVM crash as {{CustomRunnable}} may execute after income/outgoing batches are cleared.) > PartitionerDecorator may close partitioners while CustomRunnable are active > during query cancellation > ----------------------------------------------------------------------------------------------------- > > Key: DRILL-6295 > URL: https://issues.apache.org/jira/browse/DRILL-6295 > Project: Apache Drill > Issue Type: Bug > Reporter: Vlad Rozov > Assignee: Vlad Rozov > Priority: Critical > Fix For: 1.14.0 > > > During query cancellation, in case > {{PartitionerDecorator.executeMethodLogic()}} is active (waiting on the > {{latch}}), the wait will be interrupted and {{Futures}} cancelled, but there > is no guarantee that all {{CustomRunnable}} terminate before returning from > {{PartitionerDecorator.executeMethodLogic()}}. On exit, both income and > outgoing batches are cleared, leading to clearing of underlying {{Vectors}} > and {{DrillBufs}}. This eventually causes unallocated memory access and JVM > crash as {{CustomRunnable}} may execute after income/outgoing batches are > cleared. -- This message was sent by Atlassian JIRA (v7.6.3#76005)