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