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

Reply via email to