You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@rocketmq.apache.org by "Eason Chen (JIRA)" <ji...@apache.org> on 2017/04/06 08:40:41 UTC

[jira] [Updated] (ROCKETMQ-164) findMappedFileByOffset failure, ArrayIndexOutOfBoundsException: -143

     [ https://issues.apache.org/jira/browse/ROCKETMQ-164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eason Chen updated ROCKETMQ-164:
--------------------------------
    Description: 
we use sync_master and slave, when slave left behind from master too long and then hit this exception when restart again maybe because comitlog has been deleted.
wo suggest handle this exception.   

2017-03-24 09:55:25 WARN PullMessageThread_4 - findMappedFileByOffset failure.
java.lang.ArrayIndexOutOfBoundsException: -143
        at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:387) ~[na:1.8.0_121]
        at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:396) ~[na:1.8.0_121]
        at org.apache.rocketmq.store.MappedFileQueue.findMappedFileByOffset(MappedFileQueue.java:476) ~[rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.store.CommitLog.getMessage(CommitLog.java:730) [rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.store.DefaultMessageStore.getMessage(DefaultMessageStore.java:430) [rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at .....................
        at org.apache.rocketmq.broker.processor.PullMessageProcessor.processRequest(PullMessageProcessor.java:190) [rocketmq-broker-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.broker.processor.PullMessageProcessor.processRequest(PullMessageProcessor.java:74) [rocketmq-broker-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.remoting.netty.NettyRemotingAbstract$1.run(NettyRemotingAbstract.java:108) [rocketmq-remoting-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.remoting.netty.RequestTask.run(RequestTask.java:80) [rocketmq-remoting-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_121]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
2017-03-24 09:55:25 WARN PullMessageThread_26 - findMappedFileByOffset failure.

  was:
we use sync_master and slave, when slave left behind from master too long and then hit this exception when restart again maybe because comitlog has been deleted.
wo suggest handle this exception.   

2017-03-24 09:55:25 WARN PullMessageThread_4 - findMappedFileByOffset failure.
java.lang.ArrayIndexOutOfBoundsException: -143
        at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:387) ~[na:1.8.0_121]
        at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:396) ~[na:1.8.0_121]
        at org.apache.rocketmq.store.MappedFileQueue.findMappedFileByOffset(MappedFileQueue.java:476) ~[rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.store.CommitLog.getMessage(CommitLog.java:730) [rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.store.DefaultMessageStore.getMessage(DefaultMessageStore.java:430) [rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at cn.webank.wemq.broker.plugin.WeMQPluginMessageStore.getMessage(WeMQPluginMessageStore.java:62) [wemq-broker-1.0.0-jdk8-SNAPSHOT.jar:1.0.0-jdk8-SNAPSHOT]
        at org.apache.rocketmq.broker.processor.PullMessageProcessor.processRequest(PullMessageProcessor.java:190) [rocketmq-broker-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.broker.processor.PullMessageProcessor.processRequest(PullMessageProcessor.java:74) [rocketmq-broker-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.remoting.netty.NettyRemotingAbstract$1.run(NettyRemotingAbstract.java:108) [rocketmq-remoting-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at org.apache.rocketmq.remoting.netty.RequestTask.run(RequestTask.java:80) [rocketmq-remoting-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_121]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
2017-03-24 09:55:25 WARN PullMessageThread_26 - findMappedFileByOffset failure.


> findMappedFileByOffset failure, ArrayIndexOutOfBoundsException: -143
> --------------------------------------------------------------------
>
>                 Key: ROCKETMQ-164
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-164
>             Project: Apache RocketMQ
>          Issue Type: Bug
>          Components: rocketmq-store
>    Affects Versions: 4.0.0-incubating
>            Reporter: Eason Chen
>            Assignee: yukon
>
> we use sync_master and slave, when slave left behind from master too long and then hit this exception when restart again maybe because comitlog has been deleted.
> wo suggest handle this exception.   
> 2017-03-24 09:55:25 WARN PullMessageThread_4 - findMappedFileByOffset failure.
> java.lang.ArrayIndexOutOfBoundsException: -143
>         at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:387) ~[na:1.8.0_121]
>         at java.util.concurrent.CopyOnWriteArrayList.get(CopyOnWriteArrayList.java:396) ~[na:1.8.0_121]
>         at org.apache.rocketmq.store.MappedFileQueue.findMappedFileByOffset(MappedFileQueue.java:476) ~[rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at org.apache.rocketmq.store.CommitLog.getMessage(CommitLog.java:730) [rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at org.apache.rocketmq.store.DefaultMessageStore.getMessage(DefaultMessageStore.java:430) [rocketmq-store-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at .....................
>         at org.apache.rocketmq.broker.processor.PullMessageProcessor.processRequest(PullMessageProcessor.java:190) [rocketmq-broker-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at org.apache.rocketmq.broker.processor.PullMessageProcessor.processRequest(PullMessageProcessor.java:74) [rocketmq-broker-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at org.apache.rocketmq.remoting.netty.NettyRemotingAbstract$1.run(NettyRemotingAbstract.java:108) [rocketmq-remoting-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at org.apache.rocketmq.remoting.netty.RequestTask.run(RequestTask.java:80) [rocketmq-remoting-4.1.0-incubating-SNAPSHOT.jar:4.1.0-incubating-SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_121]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
> 2017-03-24 09:55:25 WARN PullMessageThread_26 - findMappedFileByOffset failure.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)