[
https://issues.apache.org/jira/browse/ROCKETMQ-145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15932100#comment-15932100
]
Jaskey Lam edited comment on ROCKETMQ-145 at 3/20/17 3:01 AM:
--------------------------------------------------------------
[~Yukon] [~lizhanhui]
The code base is nearly not changed but the problem actually is easy to
reproduced, I suspect what brings the problem up is that the new version
changes
{code}
tihis.wait(0)`
{code}
into
{code}
`this.wait(10)`
{code}
, is that right? which makes it possible to have race condition.
In the old version, it will never wake up unless notified, now every 10ms, it
will swap, and this make have race condition with the put message thread
was (Author: jaskey):
[~Yukon] [~lizhanhui]
The code base is nearly not changed but the problem actually is easy to
reproduced, I suspect what brings the problem up is that the new version
changes
{code}
tihis.wait(0)`
{code}
into
{code}
`this.wait(10)`
{code}
, is that right? which makes it possible to have race condition, before it will
never wake up unless notified.
> Hit ConcurrentModificationException in doWaitTransfer which happens very offen
> ------------------------------------------------------------------------------
>
> Key: ROCKETMQ-145
> URL: https://issues.apache.org/jira/browse/ROCKETMQ-145
> Project: Apache RocketMQ
> Issue Type: Bug
> Components: rocketmq-store
> Affects Versions: 4.0.0-incubating
> Reporter: Eason Chen
> Assignee: yukon
>
> we use master and slave , sync transfer and asyn flush, happens this very
> offen:
> 2017-03-17 20:12:38 WARN GroupTransferService - GroupTransferService service
> has exception.
> java.util.ConcurrentModificationException: null
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
> ~[na:1.8.0_121]
> at java.util.ArrayList$Itr.next(ArrayList.java:851) ~[na:1.8.0_121]
> at
> org.apache.rocketmq.store.ha.HAService$GroupTransferService.doWaitTransfer(HAService.java:277)
> ~[rocketmq-store-4.0.0-incubating.jar:4.0.0-incubating]
> at
> org.apache.rocketmq.store.ha.HAService$GroupTransferService.run(HAService.java:301)
> ~[rocketmq-store-4.0.0-incubating.jar:4.0.0-incubating]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)