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

GuoHao commented on RATIS-1538:
-------------------------------

 

[~szetszwo] It is because of this problem encountered in 
DataStreamManagement#startTransaction
{code:java}
2022-02-24 11:38:11,350 
[fd8a4ee7-83c8-44a4-9df6-de6db32a47c2-DataStreamManagement-request--thread18] 
WARN org.apache.ratis.netty.server.DataStreamManagement: Failed to process 
DataStreamRequestByteBuf:clientId=client-370418007FF6,type=STREAM_DATA,id=745935,offset=2097152,length=194
java.util.concurrent.CompletionException: java.lang.IllegalStateException: 
org.apache.ratis.util.Preconditions$$Lambda$141/118881143@756aff8d
        at 
java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
        at 
java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
        at 
java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1107)
        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)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: 
org.apache.ratis.util.Preconditions$$Lambda$141/118881143@756aff8d
        at org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:45)
        at 
org.apache.ratis.util.Preconditions.assertNotNull(Preconditions.java:91)
        at 
org.apache.ratis.util.Preconditions.assertNotNull(Preconditions.java:96)
        at 
org.apache.ratis.protocol.RaftClientMessage.<init>(RaftClientMessage.java:31)
        at 
org.apache.ratis.protocol.RaftClientRequest.<init>(RaftClientRequest.java:344)
        at 
org.apache.ratis.protocol.RaftClientRequest.<init>(RaftClientRequest.java:31)
        at 
org.apache.ratis.protocol.RaftClientRequest$Builder.build(RaftClientRequest.java:244)
        at 
org.apache.ratis.client.impl.RaftClientImpl.newRaftClientRequest(RaftClientImpl.java:238)
        at 
org.apache.ratis.client.impl.OrderedAsync.lambda$null$1(OrderedAsync.java:169)
        at 
org.apache.ratis.client.impl.OrderedAsync$PendingOrderedRequest.lambda$newRequestImpl$0(OrderedAsync.java:76)
        at java.util.Optional.map(Optional.java:215)
        at 
org.apache.ratis.client.impl.OrderedAsync$PendingOrderedRequest.newRequestImpl(OrderedAsync.java:76)
        at 
org.apache.ratis.client.impl.OrderedAsync.sendRequestWithRetry(OrderedAsync.java:187)
        at 
org.apache.ratis.util.SlidingWindow$Client.sendOrDelayRequest(SlidingWindow.java:280)
        at 
org.apache.ratis.util.SlidingWindow$Client.submitNewRequest(SlidingWindow.java:259)
        at org.apache.ratis.client.impl.OrderedAsync.send(OrderedAsync.java:170)
        at 
org.apache.ratis.client.impl.OrderedAsync.newInstance(OrderedAsync.java:118)
        at 
org.apache.ratis.client.impl.RaftClientImpl.lambda$new$0(RaftClientImpl.java:167)
        at org.apache.ratis.util.MemoizedSupplier.get(MemoizedSupplier.java:62)
        at 
org.apache.ratis.client.impl.RaftClientImpl.getOrderedAsync(RaftClientImpl.java:220)
        at org.apache.ratis.client.impl.AsyncImpl.send(AsyncImpl.java:41)
        at org.apache.ratis.client.impl.AsyncImpl.sendForward(AsyncImpl.java:67)
        at 
org.apache.ratis.netty.server.DataStreamManagement.startTransaction(DataStreamManagement.java:369)
        at 
org.apache.ratis.netty.server.DataStreamManagement.lambda$null$11(DataStreamManagement.java:475)
        at 
java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1105)
        ... 5 more {code}
I'll open a PR so we can talk about the code.

 

> DataStreamManagement#startTransaction prevent accidental assertion errors
> -------------------------------------------------------------------------
>
>                 Key: RATIS-1538
>                 URL: https://issues.apache.org/jira/browse/RATIS-1538
>             Project: Ratis
>          Issue Type: Sub-task
>            Reporter: GuoHao
>            Priority: Major
>         Attachments: image-2022-02-26-10-19-19-880.png, 
> image-2022-03-01-19-17-41-762.png
>
>
> DataStreamManagement#startTransaction prevent accidental assertion errors
>  
> DataStreamManagement#startTransaction calls AsyncImpl#sendForward, which 
> sends a message to the leader, which may be null
>  
> !image-2022-02-26-10-19-19-880.png!
>  
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to