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

Tsz-wo Sze commented on RATIS-1578:
-----------------------------------

bq.  at 
org.apache.ratis.protocol.RaftClientMessage.<init>(RaftClientMessage.java:31)

[~srnjl], thanks for reporting this.  The serverId is null because the leaderId 
is null in the code below.  As you mentioned, there was a leader election.

bq. at 
org.apache.ratis.client.impl.RaftClientImpl.newRaftClientRequest(RaftClientImpl.java:241)

{code}
//RaftClientImpl.
  RaftClientRequest newRaftClientRequest(
      RaftPeerId server, long callId, Message message, RaftClientRequest.Type 
type,
      SlidingWindowEntry slidingWindowEntry) {
    final RaftClientRequest.Builder b = RaftClientRequest.newBuilder();
    if (server != null) {
      b.setServerId(server);
    } else {
      b.setLeaderId(leaderId);
    }
{code}
  

> The following assertion error occurs when transferring large files
> ------------------------------------------------------------------
>
>                 Key: RATIS-1578
>                 URL: https://issues.apache.org/jira/browse/RATIS-1578
>             Project: Ratis
>          Issue Type: Sub-task
>            Reporter: GuoHao
>            Assignee: Tsz-wo Sze
>            Priority: Major
>
>  
> The following assertion error occurs when transferring large files.
>  
> Please look at length, the packet size I actually transmitted is 1MB, and the 
> size here is Length =1460. I suspect it is caused by sticky packet. Could you 
> help me solve this problem?
>  
> {code:java}
> 2022-05-09 22:03:14,050 
> [97c45065-e803-4377-9a2f-db1e53410b77-NettyServerStreamRpc-channelRead--thread9]
>  WARN org.apache.ratis.netty.server.DataStreamManagement: Failed to process 
> DataStreamRequestByteBuf:clientId=client-B557FB683D6A,type=STREAM_DATA,id=45,offset=667799,length=1460
> java.util.concurrent.ExecutionException: java.lang.IllegalStateException
>         at 
> java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
>         at 
> java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
>         at 
> org.apache.ratis.netty.server.DataStreamManagement.read(DataStreamManagement.java:419)
>         at 
> org.apache.ratis.netty.server.NettyServerStreamRpc$1.lambda$channelRead$0(NettyServerStreamRpc.java:230)
>         at 
> org.apache.ratis.thirdparty.io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)
>         at 
> org.apache.ratis.thirdparty.io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:106)
>         at 
> org.apache.ratis.thirdparty.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
>         at 
> org.apache.ratis.thirdparty.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
>         at 
> org.apache.ratis.thirdparty.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
>         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.IllegalStateException
>         at 
> org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:33)
>         at 
> org.apache.ratis.netty.server.DataStreamManagement.assertReplyCorrespondingToRequest(DataStreamManagement.java:499)
>         at 
> org.apache.ratis.netty.server.DataStreamManagement.checkSuccessRemoteWrite(DataStreamManagement.java:506)
>         at 
> org.apache.ratis.netty.server.DataStreamManagement.sendReply(DataStreamManagement.java:352)
>         at 
> org.apache.ratis.netty.server.DataStreamManagement.lambda$null$10(DataStreamManagement.java:470)
>         at 
> java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1105)
>         at 
> java.util.concurrent.CompletableFuture$BiApply.tryFire(CompletableFuture.java:1070)
>         at 
> java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         ... 1 more {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to