You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tubemq.apache.org by "Guocheng Zhang (Jira)" <ji...@apache.org> on 2020/08/14 07:18:00 UTC

[jira] [Commented] (TUBEMQ-317) The Store Manager throws java.lang.NullPointerException

    [ https://issues.apache.org/jira/browse/TUBEMQ-317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17177558#comment-17177558 ] 

Guocheng Zhang commented on TUBEMQ-317:
---------------------------------------

 !image-2020-08-14-11-44-33-247.png!  !image-2020-08-14-11-44-41-974.png! 

As shown above, in the getRecordSeg function, after the code logic obtains the segment through the findSegment function, it should first judge and confirm that the object is not null before using it.

Thanks, carylu!

> The Store Manager throws java.lang.NullPointerException
> -------------------------------------------------------
>
>                 Key: TUBEMQ-317
>                 URL: https://issues.apache.org/jira/browse/TUBEMQ-317
>             Project: Apache TubeMQ
>          Issue Type: Bug
>          Components: Broker
>            Reporter: carylu
>            Priority: Major
>
> Here are the exceptions:
> [WARN] 2020-08-14 00:00:00,034 [CmptBrokerServiceServer] [Store Manager] get message failure, requestOffset=0,group=mygroup,topic=topic1,partitionId=0
> java.lang.NullPointerException
>  at com.tencent.tubemq.server.broker.msgstore.disk.FileSegmentList.getRecordSeg(FileSegmentList.java:69)
>  at com.tencent.tubemq.server.broker.msgstore.disk.MsgFileStore.indexSlice(MsgFileStore.java:597)
>  at com.tencent.tubemq.server.broker.msgstore.MessageStore.getMessages(MessageStore.java:273)
>  at com.tencent.tubemq.server.cmpt.CmptBrokerServiceServer.getMessages(CmptBrokerServiceServer.java:473)
>  at com.tencent.tubemq.server.cmpt.CmptBrokerServiceServer.getMessagesC2B(CmptBrokerServiceServer.java:370)
>  at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498)
>  at com.tencent.tubemq.tuberpccmpt.protocol.CmptRpcProtocol.newHandleRequest(CmptRpcProtocol.java:162)
>  at com.tencent.tubemq.tuberpccmpt.protocol.CmptRpcProtocol.handleRequest(CmptRpcProtocol.java:118)
>  at com.tencent.tubemq.tuberpccmpt.netty.CmptNettyRpcServer$NettyServerHandler.newMessageReceived(CmptNettyRpcServer.java:379)
>  at com.tencent.tubemq.tuberpccmpt.netty.CmptNettyRpcServer$NettyServerHandler.messageReceived(CmptNettyRpcServer.java:297)
>  at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>  at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>  at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
>  at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
>  at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
>  at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
>  at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
>  at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
>  at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
>  at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
>  at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
>  at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
>  at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
>  at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)