Narendra Kumar created KAFKA-5145: ------------------------------------- Summary: Remove task close() call from closeNonAssignedSuspendedTasks method Key: KAFKA-5145 URL: https://issues.apache.org/jira/browse/KAFKA-5145 Project: Kafka Issue Type: Bug Components: streams Affects Versions: 0.10.2.0 Reporter: Narendra Kumar Attachments: BugTest.java, DebugTransformer.java, logs.txt
While rebalancing ProcessorNode.close() can be called twice, once from StreamThread.suspendTasksAndState() and once from StreamThread.closeNonAssignedSuspendedTasks(). If ProcessorNode.close() throws some exception because of calling close() multiple times( i.e. IllegalStateException from some KafkaConsumer instance being used by some processor for some lookup), we fail to close the task's state manager ( i.e. call to task.closeStateManager(true); fails). After rebalance, if the same task id is launched on same application instance but in different thread then the task get stuck because it fails to get lock to the task's state directory. Since processor close() is already called from StreamThread.suspendTasksAndState() we don't need to call again from StreamThread.closeNonAssignedSuspendedTasks(). -- This message was sent by Atlassian JIRA (v6.3.15#6346)