[ https://issues.apache.org/jira/browse/KAFKA-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang updated KAFKA-2150: --------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) > FetcherThread backoff need to grab lock before wait on condition. > ----------------------------------------------------------------- > > Key: KAFKA-2150 > URL: https://issues.apache.org/jira/browse/KAFKA-2150 > Project: Kafka > Issue Type: Bug > Reporter: Jiangjie Qin > Assignee: Sriharsha Chintalapani > Labels: newbie++ > Attachments: KAFKA-2150.patch, KAFKA-2150_2015-04-25_13:14:05.patch, > KAFKA-2150_2015-04-25_13:18:35.patch, KAFKA-2150_2015-04-25_13:35:36.patch > > > Saw the following error: > kafka.api.ProducerBounceTest > testBrokerFailure STANDARD_OUT > [2015-04-25 00:40:43,997] ERROR [ReplicaFetcherThread-0-0], Error due to > (kafka.server.ReplicaFetcherThread:103) > java.lang.IllegalMonitorStateException > at > java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:127) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1239) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.fullyRelease(AbstractQueuedSynchronizer.java:1668) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2107) > at > kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:95) > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60) > [2015-04-25 00:40:47,064] ERROR [ReplicaFetcherThread-0-1], Error due to > (kafka.server.ReplicaFetcherThread:103) > java.lang.IllegalMonitorStateException > at > java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:127) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1239) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.fullyRelease(AbstractQueuedSynchronizer.java:1668) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2107) > at > kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:95) > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60) > We should grab the lock before waiting on the condition. -- This message was sent by Atlassian JIRA (v6.3.4#6332)