Hi team,

I observed java.lang.IllegalMonitorStateException thrown
from AbstractFetcherThread in mirror maker when it is trying to build the
fetchrequst. Below is the error

[2015-04-23 16:16:02,049] ERROR
[ConsumerFetcherThread-group_id_localhost-1429830778627-4519368f-0-7],
Error due to  (kafka.consumer.ConsumerFetcherThread)

java.lang.IllegalMonitorStateException

        at
java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:155)

        at
java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1260)

        at
java.util.concurrent.locks.AbstractQueuedSynchronizer.fullyRelease(AbstractQueuedSynchronizer.java:1723)

        at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2166)

        at
kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:95)

        at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)

I believe this is due to partitionMapCond.await(fetchBackOffMs,
TimeUnit.MILLISECONDS) being called while not lock is acquired.

below code should fix the issue

inLock(partitionMapLock) {
partitionMapCond.await(fetchBackOffMs, TimeUnit.MILLISECONDS)
}

Should I file a jira ticket and submit the patch?

I use the latest version of mirror maker in trunk.


-- 
Regards,
Tao

Reply via email to