Re: Getting java.lang.IllegalMonitorStateException in mirror maker when building fetch request

2015-04-27 Thread Jiangjie Qin
Hi Tao,

KAFKA-2150 has been filed.

Jiangjie

On 4/24/15, 12:38 PM, tao xiao xiaotao...@gmail.com wrote:

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.jav
a:155)

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

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

at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awai
t(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



Getting java.lang.IllegalMonitorStateException in mirror maker when building fetch request

2015-04-24 Thread tao xiao
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