[ https://issues.apache.org/jira/browse/RATIS-1529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
GuoHao updated RATIS-1529: -------------------------- Summary: Handle when there is an exception in NettyServerStreamRpc# getDataStreamOutput (was: Fix NettyServerStreamRpc.Proxies#getProxy NPE) > Handle when there is an exception in NettyServerStreamRpc# getDataStreamOutput > ------------------------------------------------------------------------------ > > Key: RATIS-1529 > URL: https://issues.apache.org/jira/browse/RATIS-1529 > Project: Ratis > Issue Type: Sub-task > Reporter: GuoHao > Assignee: GuoHao > Priority: Major > Time Spent: 1h 50m > Remaining Estimate: 0h > > {code:java} > 2022-02-22 17:58:44,541 > [fc12e60f-0cae-475e-8233-5b08287c70cf-NettyServerStreamRpc-workerGroup--thread1] > WARN org.apache.ratis.netty.server.DataStreamManagement: Failed to process > DataStreamRequestByteBuf:clientId=client-61AA87234F6E,type=STREAM_HEADER,id=23008,offset=0,length=323 > java.util.concurrent.CompletionException: java.lang.NullPointerException: > fc12e60f-0cae-475e-8233-5b08287c70cf-NettyServerStreamRpc: Server > b0403548-9f78-4fef-bca3-0121bf708629 not found: peers=[] > at > org.apache.ratis.netty.server.DataStreamManagement.newStreamInfo(DataStreamManagement.java:251) > at > org.apache.ratis.netty.server.DataStreamManagement.lambda$readImpl$4(DataStreamManagement.java:411) > at > org.apache.ratis.util.MemoizedSupplier.get(MemoizedSupplier.java:62) > at > org.apache.ratis.netty.server.DataStreamManagement.lambda$readImpl$5(DataStreamManagement.java:412) > at > java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) > at > org.apache.ratis.netty.server.DataStreamManagement$StreamMap.computeIfAbsent(DataStreamManagement.java:187) > at > org.apache.ratis.netty.server.DataStreamManagement.readImpl(DataStreamManagement.java:412) > at > org.apache.ratis.netty.server.DataStreamManagement.read(DataStreamManagement.java:387) > at > org.apache.ratis.netty.server.NettyServerStreamRpc$1.channelRead(NettyServerStreamRpc.java:199) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > at > org.apache.ratis.thirdparty.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) > at > org.apache.ratis.thirdparty.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > at > org.apache.ratis.thirdparty.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > org.apache.ratis.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > org.apache.ratis.thirdparty.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > at > org.apache.ratis.thirdparty.io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) > at > org.apache.ratis.thirdparty.io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) > at > org.apache.ratis.thirdparty.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) > at > org.apache.ratis.thirdparty.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) > at > org.apache.ratis.thirdparty.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.NullPointerException: > fc12e60f-0cae-475e-8233-5b08287c70cf-NettyServerStreamRpc: Server > b0403548-9f78-4fef-bca3-0121bf708629 not found: peers=[] > at java.util.Objects.requireNonNull(Objects.java:290) > at org.apache.ratis.util.PeerProxyMap.getProxy(PeerProxyMap.java:110) > at > org.apache.ratis.netty.server.NettyServerStreamRpc$Proxies.getDataStreamOutput(NettyServerStreamRpc.java:100) > at > org.apache.ratis.netty.server.NettyServerStreamRpc$Proxies.getDataStreamOutput(NettyServerStreamRpc.java:88) > at > org.apache.ratis.netty.server.DataStreamManagement$StreamInfo.<init>(DataStreamManagement.java:126) > at > org.apache.ratis.netty.server.DataStreamManagement.newStreamInfo(DataStreamManagement.java:249) > ... 26 more {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)