[ https://issues.apache.org/jira/browse/DRILL-5854?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Padma Penumarthy updated DRILL-5854: ------------------------------------ Description: When we get a batch with record count 0 and valid schema, the following exception is thrown sometimes. Problem is that merge receiver is reading from the wrong sender when first batch is empty from one of the senders. When first batch is empty, we are continuing without moving to the next sender. Error: SYSTEM ERROR: IllegalStateException: Cleanup before finished. 0 out of 1 streams have finished Fragment 0:0 [Error Id: 0dec4617-eb06-48fd-80c9-75e9c1e74ce2 on sidrill1:31010] (java.lang.IllegalStateException) Cleanup before finished. 0 out of 1 streams have finished org.apache.drill.exec.work.batch.BaseRawBatchBuffer.close():107 org.apache.drill.common.AutoCloseables.close():76 org.apache.drill.common.AutoCloseables.close():64 org.apache.drill.exec.work.batch.AbstractDataCollector.close():119 org.apache.drill.common.AutoCloseables.close():76 org.apache.drill.exec.work.batch.IncomingBuffers.close():140 org.apache.drill.exec.ops.FragmentContext.suppressingClose():436 org.apache.drill.exec.ops.FragmentContext.close():429 org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources():320 org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup():155 org.apache.drill.exec.work.fragment.FragmentExecutor.run():264 org.apache.drill.common.SelfCleaningRunnable.run():38 java.util.concurrent.ThreadPoolExecutor.runWorker():1149 java.util.concurrent.ThreadPoolExecutor$Worker.run():624 java.lang.Thread.run():748 (state=,code=0) was: When we get a batch with record count 0 and valid schema, the following exception is thrown sometimes. Problem seem to be that merge receiver is reading from the wrong sender when an empty batch is received. Error: SYSTEM ERROR: IllegalStateException: Cleanup before finished. 0 out of 1 streams have finished Fragment 0:0 [Error Id: 0dec4617-eb06-48fd-80c9-75e9c1e74ce2 on sidrill1:31010] (java.lang.IllegalStateException) Cleanup before finished. 0 out of 1 streams have finished org.apache.drill.exec.work.batch.BaseRawBatchBuffer.close():107 org.apache.drill.common.AutoCloseables.close():76 org.apache.drill.common.AutoCloseables.close():64 org.apache.drill.exec.work.batch.AbstractDataCollector.close():119 org.apache.drill.common.AutoCloseables.close():76 org.apache.drill.exec.work.batch.IncomingBuffers.close():140 org.apache.drill.exec.ops.FragmentContext.suppressingClose():436 org.apache.drill.exec.ops.FragmentContext.close():429 org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources():320 org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup():155 org.apache.drill.exec.work.fragment.FragmentExecutor.run():264 org.apache.drill.common.SelfCleaningRunnable.run():38 java.util.concurrent.ThreadPoolExecutor.runWorker():1149 java.util.concurrent.ThreadPoolExecutor$Worker.run():624 java.lang.Thread.run():748 (state=,code=0) > IllegalStateException when empty batch with valid schema is received. > --------------------------------------------------------------------- > > Key: DRILL-5854 > URL: https://issues.apache.org/jira/browse/DRILL-5854 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow > Affects Versions: 1.11.0 > Reporter: Padma Penumarthy > Assignee: Padma Penumarthy > Fix For: 1.12.0 > > > When we get a batch with record count 0 and valid schema, the following > exception is thrown sometimes. > Problem is that merge receiver is reading from the wrong sender when first > batch is empty from one of the senders. > When first batch is empty, we are continuing without moving to the next > sender. > Error: SYSTEM ERROR: IllegalStateException: Cleanup before finished. 0 out of > 1 streams have finished > Fragment 0:0 > [Error Id: 0dec4617-eb06-48fd-80c9-75e9c1e74ce2 on sidrill1:31010] > (java.lang.IllegalStateException) Cleanup before finished. 0 out of 1 > streams have finished > org.apache.drill.exec.work.batch.BaseRawBatchBuffer.close():107 > org.apache.drill.common.AutoCloseables.close():76 > org.apache.drill.common.AutoCloseables.close():64 > org.apache.drill.exec.work.batch.AbstractDataCollector.close():119 > org.apache.drill.common.AutoCloseables.close():76 > org.apache.drill.exec.work.batch.IncomingBuffers.close():140 > org.apache.drill.exec.ops.FragmentContext.suppressingClose():436 > org.apache.drill.exec.ops.FragmentContext.close():429 > > org.apache.drill.exec.work.fragment.FragmentExecutor.closeOutResources():320 > org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup():155 > org.apache.drill.exec.work.fragment.FragmentExecutor.run():264 > org.apache.drill.common.SelfCleaningRunnable.run():38 > java.util.concurrent.ThreadPoolExecutor.runWorker():1149 > java.util.concurrent.ThreadPoolExecutor$Worker.run():624 > java.lang.Thread.run():748 (state=,code=0) -- This message was sent by Atlassian JIRA (v6.4.14#64029)