{"action":"closed","issue":{"url":"https://api.github.com/repos/aionnetwork/aion/issues/538","repository_url":"https://api.github.com/repos/aionnetwork/aion","labels_url":"https://api.github.com/repos/aionnetwork/aion/issues/538/labels{/name}","comments_url":"https://api.github.com/repos/aionnetwork/aion/issues/538/comments","events_url":"https://api.github.com/repos/aionnetwork/aion/issues/538/events","html_url":"https://github.com/aionnetwork/aion/issues/538","id":336473380,"node_id":"MDU6SXNzdWUzMzY0NzMzODA=","number":538,"title":"Traversing the activeNodes map","user":{"login":"qoire","id":4521292,"node_id":"MDQ6VXNlcjQ1MjEyOTI=","avatar_url":"https://avatars0.githubusercontent.com/u/4521292?v=4","gravatar_id":"","url":"https://api.github.com/users/qoire","html_url":"https://github.com/qoire","followers_url":"https://api.github.com/users/qoire/followers","following_url":"https://api.github.com/users/qoire/following{/other_user}","gists_url":"https://api.github.com/users/qoire/gists{/gist_id}","starred_url":"https://api.github.com/users/qoire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qoire/subscriptions","organizations_url":"https://api.github.com/users/qoire/orgs","repos_url":"https://api.github.com/users/qoire/repos","events_url":"https://api.github.com/users/qoire/events{/privacy}","received_events_url":"https://api.github.com/users/qoire/received_events","type":"User","site_admin":false},"labels":[{"id":812772733,"node_id":"MDU6TGFiZWw4MTI3NzI3MzM=","url":"https://api.github.com/repos/aionnetwork/aion/labels/bug","name":"bug","color":"d73a4a","default":true}],"state":"closed","locked":false,"assignee":{"login":"AionJayT","id":36162090,"node_id":"MDQ6VXNlcjM2MTYyMDkw","avatar_url":"https://avatars2.githubusercontent.com/u/36162090?v=4","gravatar_id":"","url":"https://api.github.com/users/AionJayT","html_url":"https://github.com/AionJayT","followers_url":"https://api.github.com/users/AionJayT/followers","following_url":"https://api.github.com/users/AionJayT/following{/other_user}","gists_url":"https://api.github.com/users/AionJayT/gists{/gist_id}","starred_url":"https://api.github.com/users/AionJayT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AionJayT/subscriptions","organizations_url":"https://api.github.com/users/AionJayT/orgs","repos_url":"https://api.github.com/users/AionJayT/repos","events_url":"https://api.github.com/users/AionJayT/events{/privacy}","received_events_url":"https://api.github.com/users/AionJayT/received_events","type":"User","site_admin":false},"assignees":[{"login":"AionJayT","id":36162090,"node_id":"MDQ6VXNlcjM2MTYyMDkw","avatar_url":"https://avatars2.githubusercontent.com/u/36162090?v=4","gravatar_id":"","url":"https://api.github.com/users/AionJayT","html_url":"https://github.com/AionJayT","followers_url":"https://api.github.com/users/AionJayT/followers","following_url":"https://api.github.com/users/AionJayT/following{/other_user}","gists_url":"https://api.github.com/users/AionJayT/gists{/gist_id}","starred_url":"https://api.github.com/users/AionJayT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AionJayT/subscriptions","organizations_url":"https://api.github.com/users/AionJayT/orgs","repos_url":"https://api.github.com/users/AionJayT/repos","events_url":"https://api.github.com/users/AionJayT/events{/privacy}","received_events_url":"https://api.github.com/users/AionJayT/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/aionnetwork/aion/milestones/4","html_url":"https://github.com/aionnetwork/aion/milestone/4","labels_url":"https://api.github.com/repos/aionnetwork/aion/milestones/4/labels","id":3369553,"node_id":"MDk6TWlsZXN0b25lMzM2OTU1Mw==","number":4,"title":"v0.2.9 - Moldoveanu Peak","description":"","creator":{"login":"AionJayT","id":36162090,"node_id":"MDQ6VXNlcjM2MTYyMDkw","avatar_url":"https://avatars2.githubusercontent.com/u/36162090?v=4","gravatar_id":"","url":"https://api.github.com/users/AionJayT","html_url":"https://github.com/AionJayT","followers_url":"https://api.github.com/users/AionJayT/followers","following_url":"https://api.github.com/users/AionJayT/following{/other_user}","gists_url":"https://api.github.com/users/AionJayT/gists{/gist_id}","starred_url":"https://api.github.com/users/AionJayT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AionJayT/subscriptions","organizations_url":"https://api.github.com/users/AionJayT/orgs","repos_url":"https://api.github.com/users/AionJayT/repos","events_url":"https://api.github.com/users/AionJayT/events{/privacy}","received_events_url":"https://api.github.com/users/AionJayT/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":5,"state":"open","created_at":"2018-05-23T16:14:56Z","updated_at":"2018-07-05T14:48:07Z","due_on":"2018-07-18T07:00:00Z","closed_at":null},"comments":0,"created_at":"2018-06-28T05:00:28Z","updated_at":"2018-07-05T14:48:07Z","closed_at":"2018-07-05T14:48:07Z","author_association":"COLLABORATOR","body":"Related to the issue we see tonight, my guess is that the ``IllegalStateException`` is being thrown here:\r\n\r\nhttps://github.com/aionnetwork/aion/blob/84df0a7e1ad50c2b5ac89926ef57360b733e5b76/modP2pImpl/src/org/aion/p2p/impl/comm/NodeMgr.java#L386\r\n\r\nWe hold an iterator to the ConcurrentHashMap which is thread safe for us, but still access the value via  a ``get``, this may cause an exception since there are no guarantees to the behaviour outside of the iterator. Should refactor this to depend exclusively on the iterator itself (for example, iterating on the ``EntrySet`` instead)."}}
{"actor":{"display_login":"AionJayT"}}