Jiangjie Qin created KAFKA-2150:
-----------------------------------
Summary: 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
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)