ChenSammi edited a comment on pull request #505:
URL: https://github.com/apache/ratis/pull/505#issuecomment-927251612
Thanks @szetszwo for the code review.
It turns out that add a new setQueueByteLimit is not eought. This is DN
LOG from produciton cluster,
2021-09-26 15:19:31,860 [EndpointStateMachine task thread for
/9.186.21.245:9861 - 0 ] WARN
org.apache.hadoop.ozone.container.common.statemachine.EndpointStateMachine:
Unable to communicate to SCM server at 9.186.21.245:9861 for past 0 seconds.
java.io.IOException: java.lang.ArithmeticException: integer overflow
at org.apache.ratis.util.IOUtils.asIOException(IOUtils.java:56)
at org.apache.ratis.util.IOUtils.toIOException(IOUtils.java:61)
at org.apache.ratis.util.IOUtils.getFromFuture(IOUtils.java:71)
at
org.apache.ratis.server.impl.RaftServerProxy.getImpls(RaftServerProxy.java:354)
at
org.apache.ratis.server.impl.RaftServerProxy.start(RaftServerProxy.java:371)
at
org.apache.hadoop.ozone.container.common.transport.server.ratis.XceiverServerRatis.start(XceiverServerRatis.java:490)
at
org.apache.hadoop.ozone.container.ozoneimpl.OzoneContainer.start(OzoneContainer.java:313)
at
org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:114)
at
org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:42)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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.ArithmeticException: integer overflow
at java.lang.Math.toIntExact(Math.java:1011)
at org.apache.ratis.util.SizeInBytes.getSizeInt(SizeInBytes.java:74)
at org.apache.ratis.util.DataQueue.<init>(DataQueue.java:59)
at
org.apache.ratis.util.DataBlockingQueue.<init>(DataBlockingQueue.java:50)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogWorker.<init>(SegmentedRaftLogWorker.java:194)
at
org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.<init>(SegmentedRaftLog.java:202)
at
org.apache.ratis.server.impl.ServerState.initRaftLog(ServerState.java:203)
at
org.apache.ratis.server.impl.ServerState.<init>(ServerState.java:150)
at
org.apache.ratis.server.impl.RaftServerImpl.<init>(RaftServerImpl.java:197)
at
org.apache.ratis.server.impl.RaftServerProxy.lambda$newRaftServerImpl$4(RaftServerProxy.java:266)
at
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
... 3 more
I will upload another commit to make DataQueue use long instead of int as
bytesLimit.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]