{"action":"created","issue":{"url":"https://api.github.com/repos/tronprotocol/java-tron/issues/120","repository_url":"https://api.github.com/repos/tronprotocol/java-tron","labels_url":"https://api.github.com/repos/tronprotocol/java-tron/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/tronprotocol/java-tron/issues/120/comments","events_url":"https://api.github.com/repos/tronprotocol/java-tron/issues/120/events","html_url":"https://github.com/tronprotocol/java-tron/pull/120","id":296178036,"number":120,"title":"Potential race conditions NodeImpl","user":{"login":"Rovak","id":376155,"avatar_url":"https://avatars1.githubusercontent.com/u/376155?v=4","gravatar_id":"","url":"https://api.github.com/users/Rovak","html_url":"https://github.com/Rovak","followers_url":"https://api.github.com/users/Rovak/followers","following_url":"https://api.github.com/users/Rovak/following{/other_user}","gists_url":"https://api.github.com/users/Rovak/gists{/gist_id}","starred_url":"https://api.github.com/users/Rovak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Rovak/subscriptions","organizations_url":"https://api.github.com/users/Rovak/orgs","repos_url":"https://api.github.com/users/Rovak/repos","events_url":"https://api.github.com/users/Rovak/events{/privacy}","received_events_url":"https://api.github.com/users/Rovak/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-11T10:08:44Z","updated_at":"2018-02-12T16:12:19Z","closed_at":"2018-02-12T16:11:38Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/tronprotocol/java-tron/pulls/120","html_url":"https://github.com/tronprotocol/java-tron/pull/120","diff_url":"https://github.com/tronprotocol/java-tron/pull/120.diff","patch_url":"https://github.com/tronprotocol/java-tron/pull/120.patch"},"body":"**What does this PR do?**\r\n\r\nReplace HashMap with ConcurrentHashMap in `NodeImpl`\r\n\r\n**Why are these changes required?**\r\n\r\nIn the `NodeImpl` class on lines https://github.com/tronprotocol/java-tron/blob/7615871e4bfaace69b1f5f04b36d3813bbe240b3/src/main/java/org/tron/core/net/node/NodeImpl.java#L249 and https://github.com/tronprotocol/java-tron/blob/7615871e4bfaace69b1f5f04b36d3813bbe240b3/src/main/java/org/tron/core/net/node/NodeImpl.java#L139 the HashMap is being modified in separate threads leading to potential race conditions\r\n"},"comment":{"url":"https://api.github.com/repos/tronprotocol/java-tron/issues/comments/364972172","html_url":"https://github.com/tronprotocol/java-tron/pull/120#issuecomment-364972172","issue_url":"https://api.github.com/repos/tronprotocol/java-tron/issues/120","id":364972172,"user":{"login":"zhaohong","id":2025363,"avatar_url":"https://avatars0.githubusercontent.com/u/2025363?v=4","gravatar_id":"","url":"https://api.github.com/users/zhaohong","html_url":"https://github.com/zhaohong","followers_url":"https://api.github.com/users/zhaohong/followers","following_url":"https://api.github.com/users/zhaohong/following{/other_user}","gists_url":"https://api.github.com/users/zhaohong/gists{/gist_id}","starred_url":"https://api.github.com/users/zhaohong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhaohong/subscriptions","organizations_url":"https://api.github.com/users/zhaohong/orgs","repos_url":"https://api.github.com/users/zhaohong/repos","events_url":"https://api.github.com/users/zhaohong/events{/privacy}","received_events_url":"https://api.github.com/users/zhaohong/received_events","type":"User","site_admin":false},"created_at":"2018-02-12T16:12:19Z","updated_at":"2018-02-12T16:12:19Z","author_association":"OWNER","body":"thanks"}}
{"actor":{"display_login":"zhaohong"}}