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]


Reply via email to