[ https://issues.apache.org/jira/browse/RATIS-143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264855#comment-16264855 ]
Tsz Wo Nicholas Sze commented on RATIS-143: ------------------------------------------- > ... I have changed peers to ConcurrentLinkedQueue because I was getting > ConcurrentModificationException while I was running the tests. The reason for > exception was that one async request might refresh the peers while other is > changing the leaderId. The exception was raised by CollectionUtils.random > function call used in RaftClientImpl#handlingIOException. Good catch! Thanks a lot for fixing it. > RaftClientImpl should have upper bound on async requests > -------------------------------------------------------- > > Key: RATIS-143 > URL: https://issues.apache.org/jira/browse/RATIS-143 > Project: Ratis > Issue Type: Bug > Reporter: Lokesh Jain > Assignee: Lokesh Jain > Attachments: RATIS-143.001.patch, RATIS-143.002.patch, > RATIS-143.003.patch, RATIS-143.004.patch > > > RaftClientImpl should have a upper bound on active async requests. Further > request should be blocked until the active one is handled. Idea is to use > semaphore so that a request is blocked until a permit is released by one of > the active ones. -- This message was sent by Atlassian JIRA (v6.4.14#64029)