[ 
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)

Reply via email to