You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Mukul Kumar Singh (JIRA)" <ji...@apache.org> on 2017/11/04 17:56:00 UTC

[jira] [Created] (RATIS-133) Raft gRPC client should check proto size before sending a message

Mukul Kumar Singh created RATIS-133:
---------------------------------------

             Summary: Raft gRPC client should check proto size before sending a message
                 Key: RATIS-133
                 URL: https://issues.apache.org/jira/browse/RATIS-133
             Project: Ratis
          Issue Type: Bug
            Reporter: Mukul Kumar Singh
            Assignee: Mukul Kumar Singh
            Priority: Critical


Raft client should check the entry size before the command is send, This can otherwise lead to following error. Checking the size on the client will help avoiding error handling on the RaftServer.

{code}
Nov 04, 2017 11:21:52 PM org.apache.ratis.shaded.io.grpc.netty.NettyServerStream$TransportState deframeFailed
WARNING: Exception processing message
org.apache.ratis.shaded.io.grpc.StatusRuntimeException: INTERNAL: Frame size 33555566 exceeds maximum: 33554432. If this is normal, increase the maxMessageSize in the channel/server builder
        at org.apache.ratis.shaded.io.grpc.Status.asRuntimeException(Status.java:536)
        at org.apache.ratis.shaded.io.grpc.internal.MessageDeframer.processHeader(MessageDeframer.java:338)
        at org.apache.ratis.shaded.io.grpc.internal.MessageDeframer.deliver(MessageDeframer.java:240)
        at org.apache.ratis.shaded.io.grpc.internal.MessageDeframer.request(MessageDeframer.java:151)
        at org.apache.ratis.shaded.io.grpc.internal.AbstractStream2$TransportState.requestMessagesFromDeframer(AbstractStream2.java:202)
        at org.apache.ratis.shaded.io.grpc.netty.RequestMessagesCommand.requestMessages(RequestMessagesCommand.java:62)
        at org.apache.ratis.shaded.io.grpc.netty.NettyServerHandler.write(NettyServerHandler.java:299)
        at org.apache.ratis.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:748)
        at org.apache.ratis.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:740)
        at org.apache.ratis.shaded.io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:826)
        at org.apache.ratis.shaded.io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:733)
        at org.apache.ratis.shaded.io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:1022)
        at org.apache.ratis.shaded.io.netty.channel.AbstractChannel.write(AbstractChannel.java:291)
        at org.apache.ratis.shaded.io.grpc.netty.WriteQueue.flush(WriteQueue.java:133)
        at org.apache.ratis.shaded.io.grpc.netty.WriteQueue.access$000(WriteQueue.java:49)
        at org.apache.ratis.shaded.io.grpc.netty.WriteQueue$1.run(WriteQueue.java:61)
        at org.apache.ratis.shaded.io.netty.util.concurrent.SingleThreadEventExecutor.safeExecute(SingleThreadEventExecutor.java:451)
        at org.apache.ratis.shaded.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:418)
        at org.apache.ratis.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:401)
        at org.apache.ratis.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:877)
        at org.apache.ratis.shaded.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Thread.java:745)

2017-11-04 23:21:52,570 [grpc-default-executor-4] INFO  server.RaftServerProtocolService (RaftServerProtocolService.java:onError(79)) - 127.0.0.1_65033: appendEntries on error. Exception: {}
org.apache.ratis.shaded.io.grpc.StatusException: CANCELLED
        at org.apache.ratis.shaded.io.grpc.Status.asException(Status.java:553)
        at org.apache.ratis.shaded.io.grpc.stub.ServerCalls$2$1.onCancel(ServerCalls.java:227)
        at org.apache.ratis.shaded.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closed(ServerCallImpl.java:270)
        at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$3.runInContext(ServerImpl.java:521)
        at org.apache.ratis.shaded.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:52)
        at org.apache.ratis.shaded.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)