{"action":"created","issue":{"url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/issues/14","labels_url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/issues/14/comments","events_url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/issues/14/events","html_url":"https://github.com/logstash-plugins/logstash-output-tcp/pull/14","id":125976284,"number":14,"title":"Mark both client and server as not worker safe","user":{"login":"andrewvc","id":131427,"avatar_url":"https://avatars.githubusercontent.com/u/131427?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewvc","html_url":"https://github.com/andrewvc","followers_url":"https://api.github.com/users/andrewvc/followers","following_url":"https://api.github.com/users/andrewvc/following{/other_user}","gists_url":"https://api.github.com/users/andrewvc/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewvc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewvc/subscriptions","organizations_url":"https://api.github.com/users/andrewvc/orgs","repos_url":"https://api.github.com/users/andrewvc/repos","events_url":"https://api.github.com/users/andrewvc/events{/privacy}","received_events_url":"https://api.github.com/users/andrewvc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/labels/bug","name":"bug","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"jsvd","id":31809,"avatar_url":"https://avatars.githubusercontent.com/u/31809?v=3","gravatar_id":"","url":"https://api.github.com/users/jsvd","html_url":"https://github.com/jsvd","followers_url":"https://api.github.com/users/jsvd/followers","following_url":"https://api.github.com/users/jsvd/following{/other_user}","gists_url":"https://api.github.com/users/jsvd/gists{/gist_id}","starred_url":"https://api.github.com/users/jsvd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsvd/subscriptions","organizations_url":"https://api.github.com/users/jsvd/orgs","repos_url":"https://api.github.com/users/jsvd/repos","events_url":"https://api.github.com/users/jsvd/events{/privacy}","received_events_url":"https://api.github.com/users/jsvd/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2016-01-11T16:03:21Z","updated_at":"2016-01-11T16:55:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/pulls/14","html_url":"https://github.com/logstash-plugins/logstash-output-tcp/pull/14","diff_url":"https://github.com/logstash-plugins/logstash-output-tcp/pull/14.diff","patch_url":"https://github.com/logstash-plugins/logstash-output-tcp/pull/14.patch"},"body":"This is due to IO#select not being threadsafe in JRuby\r\n\r\nFixes https://github.com/logstash-plugins/logstash-output-tcp/issues/13"},"comment":{"url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/issues/comments/170616688","html_url":"https://github.com/logstash-plugins/logstash-output-tcp/pull/14#issuecomment-170616688","issue_url":"https://api.github.com/repos/logstash-plugins/logstash-output-tcp/issues/14","id":170616688,"user":{"login":"jordansissel","id":131818,"avatar_url":"https://avatars.githubusercontent.com/u/131818?v=3","gravatar_id":"","url":"https://api.github.com/users/jordansissel","html_url":"https://github.com/jordansissel","followers_url":"https://api.github.com/users/jordansissel/followers","following_url":"https://api.github.com/users/jordansissel/following{/other_user}","gists_url":"https://api.github.com/users/jordansissel/gists{/gist_id}","starred_url":"https://api.github.com/users/jordansissel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jordansissel/subscriptions","organizations_url":"https://api.github.com/users/jordansissel/orgs","repos_url":"https://api.github.com/users/jordansissel/repos","events_url":"https://api.github.com/users/jordansissel/events{/privacy}","received_events_url":"https://api.github.com/users/jordansissel/received_events","type":"User","site_admin":false},"created_at":"2016-01-11T16:55:20Z","updated_at":"2016-01-11T16:55:20Z","body":"Server is threaded per-connection and appears to be synchronous (doesn't use IO.select). The main thread uses Socket#accept, by my reading anyway.\r\n\r\nClient does use IO.select, but with the old pipeline (before your filter-output merge), output workers were clones of output instances, so this was safe."}}