{"action":"created","issue":{"url":"https://api.github.com/repos/belaban/jgroups-raft/issues/37","labels_url":"https://api.github.com/repos/belaban/jgroups-raft/issues/37/labels{/name}","comments_url":"https://api.github.com/repos/belaban/jgroups-raft/issues/37/comments","events_url":"https://api.github.com/repos/belaban/jgroups-raft/issues/37/events","html_url":"https://github.com/belaban/jgroups-raft/pull/37","id":93147760,"number":37,"title":"Fix race condition on member update","user":{"login":"metanet","id":999867,"avatar_url":"https://avatars.githubusercontent.com/u/999867?v=3","gravatar_id":"","url":"https://api.github.com/users/metanet","html_url":"https://github.com/metanet","followers_url":"https://api.github.com/users/metanet/followers","following_url":"https://api.github.com/users/metanet/following{/other_user}","gists_url":"https://api.github.com/users/metanet/gists{/gist_id}","starred_url":"https://api.github.com/users/metanet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/metanet/subscriptions","organizations_url":"https://api.github.com/users/metanet/orgs","repos_url":"https://api.github.com/users/metanet/repos","events_url":"https://api.github.com/users/metanet/events{/privacy}","received_events_url":"https://api.github.com/users/metanet/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-05T21:17:57Z","updated_at":"2015-07-08T13:46:08Z","closed_at":"2015-07-08T13:18:42Z","pull_request":{"url":"https://api.github.com/repos/belaban/jgroups-raft/pulls/37","html_url":"https://github.com/belaban/jgroups-raft/pull/37","diff_url":"https://github.com/belaban/jgroups-raft/pull/37.diff","patch_url":"https://github.com/belaban/jgroups-raft/pull/37.patch"},"body":"* Update member update flag with CAS to prevent two concurrent operations to succeed\r\n* Return members thread-safely\r\n\r\nProblem is reproduced when @Test(iterationCount=100) is added to DynamicMembershipTest::testAddServerSimultaneously method. Raft::requestTableSize method is added for reproducing the issue. Since I am not familiar with Jgroups, I didn't put @ManagedAttribute to it. "},"comment":{"url":"https://api.github.com/repos/belaban/jgroups-raft/issues/comments/119583635","html_url":"https://github.com/belaban/jgroups-raft/pull/37#issuecomment-119583635","issue_url":"https://api.github.com/repos/belaban/jgroups-raft/issues/37","id":119583635,"user":{"login":"metanet","id":999867,"avatar_url":"https://avatars.githubusercontent.com/u/999867?v=3","gravatar_id":"","url":"https://api.github.com/users/metanet","html_url":"https://github.com/metanet","followers_url":"https://api.github.com/users/metanet/followers","following_url":"https://api.github.com/users/metanet/following{/other_user}","gists_url":"https://api.github.com/users/metanet/gists{/gist_id}","starred_url":"https://api.github.com/users/metanet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/metanet/subscriptions","organizations_url":"https://api.github.com/users/metanet/orgs","repos_url":"https://api.github.com/users/metanet/repos","events_url":"https://api.github.com/users/metanet/events{/privacy}","received_events_url":"https://api.github.com/users/metanet/received_events","type":"User","site_admin":false},"created_at":"2015-07-08T13:46:08Z","updated_at":"2015-07-08T13:46:08Z","body":"Hi @belaban \r\nThanks for reviewing and merging it. I am studying raft algorithm via your code and it is very helpful. Kudos for the good work. \r\n\r\nI thought the same thing but I didn't want to introduce a major change within this PR. But as you say, it is also an option."}}