{"action":"created","issue":{"url":"https://api.github.com/repos/apache/incubator-zeppelin/issues/558","labels_url":"https://api.github.com/repos/apache/incubator-zeppelin/issues/558/labels{/name}","comments_url":"https://api.github.com/repos/apache/incubator-zeppelin/issues/558/comments","events_url":"https://api.github.com/repos/apache/incubator-zeppelin/issues/558/events","html_url":"https://github.com/apache/incubator-zeppelin/pull/558","id":123220384,"number":558,"title":"ZEPPELIN-312: fix a bug with blocking websocket broadcast","user":{"login":"bzz","id":5582506,"avatar_url":"https://avatars.githubusercontent.com/u/5582506?v=3","gravatar_id":"","url":"https://api.github.com/users/bzz","html_url":"https://github.com/bzz","followers_url":"https://api.github.com/users/bzz/followers","following_url":"https://api.github.com/users/bzz/following{/other_user}","gists_url":"https://api.github.com/users/bzz/gists{/gist_id}","starred_url":"https://api.github.com/users/bzz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bzz/subscriptions","organizations_url":"https://api.github.com/users/bzz/orgs","repos_url":"https://api.github.com/users/bzz/repos","events_url":"https://api.github.com/users/bzz/events{/privacy}","received_events_url":"https://api.github.com/users/bzz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-12-21T06:49:28Z","updated_at":"2015-12-22T05:34:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/incubator-zeppelin/pulls/558","html_url":"https://github.com/apache/incubator-zeppelin/pull/558","diff_url":"https://github.com/apache/incubator-zeppelin/pull/558.diff","patch_url":"https://github.com/apache/incubator-zeppelin/pull/558.patch"},"body":"### What is this PR for?\r\nReplacing synchronization through critical section over the collection of sockets with the lock-free collection implementation  `java.util.concurrent.ConcurrentLinkedQueue`.\r\nSynchronization was used to avoid parallel collection modifications, as the calls `.sendMessage()` in Jetty implementation of Websockets are thread-safe and can proceed concurrently.\r\n\r\n### What type of PR is it?\r\nBug Fix\r\n\r\n### Is there a relevant Jira issue?\r\nhttps://issues.apache.org/jira/browse/ZEPPELIN-312\r\n\r\n### How should this be tested?\r\nSee JIRA\r\n\r\n### Questions:\r\n* Does the licenses files need update? No\r\n* Is there breaking changes for older versions? No\r\n* Does this needs documentation? No"},"comment":{"url":"https://api.github.com/repos/apache/incubator-zeppelin/issues/comments/166514034","html_url":"https://github.com/apache/incubator-zeppelin/pull/558#issuecomment-166514034","issue_url":"https://api.github.com/repos/apache/incubator-zeppelin/issues/558","id":166514034,"user":{"login":"zenglinxi0615","id":4465106,"avatar_url":"https://avatars.githubusercontent.com/u/4465106?v=3","gravatar_id":"","url":"https://api.github.com/users/zenglinxi0615","html_url":"https://github.com/zenglinxi0615","followers_url":"https://api.github.com/users/zenglinxi0615/followers","following_url":"https://api.github.com/users/zenglinxi0615/following{/other_user}","gists_url":"https://api.github.com/users/zenglinxi0615/gists{/gist_id}","starred_url":"https://api.github.com/users/zenglinxi0615/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenglinxi0615/subscriptions","organizations_url":"https://api.github.com/users/zenglinxi0615/orgs","repos_url":"https://api.github.com/users/zenglinxi0615/repos","events_url":"https://api.github.com/users/zenglinxi0615/events{/privacy}","received_events_url":"https://api.github.com/users/zenglinxi0615/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T05:34:39Z","updated_at":"2015-12-22T05:34:39Z","body":"@bzz ,sorry for my late response, and thanks for your work, it looks good for me!"}}