{"action":"created","issue":{"url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/issues/27","repository_url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns","labels_url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/issues/27/comments","events_url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/issues/27/events","html_url":"https://github.com/logstash-plugins/logstash-filter-dns/pull/27","id":169355394,"number":27,"title":"Resolve race condition when threads might get killed when waiting for read /etc/hosts","user":{"login":"purbon","id":68540,"avatar_url":"https://avatars.githubusercontent.com/u/68540?v=3","gravatar_id":"","url":"https://api.github.com/users/purbon","html_url":"https://github.com/purbon","followers_url":"https://api.github.com/users/purbon/followers","following_url":"https://api.github.com/users/purbon/following{/other_user}","gists_url":"https://api.github.com/users/purbon/gists{/gist_id}","starred_url":"https://api.github.com/users/purbon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/purbon/subscriptions","organizations_url":"https://api.github.com/users/purbon/orgs","repos_url":"https://api.github.com/users/purbon/repos","events_url":"https://api.github.com/users/purbon/events{/privacy}","received_events_url":"https://api.github.com/users/purbon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/labels/bug","name":"bug","color":"e11d21"},{"url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/labels/P1","name":"P1","color":"000000"}],"state":"open","locked":false,"assignee":{"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},"assignees":[{"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},{"login":"suyograo","id":1595958,"avatar_url":"https://avatars.githubusercontent.com/u/1595958?v=3","gravatar_id":"","url":"https://api.github.com/users/suyograo","html_url":"https://github.com/suyograo","followers_url":"https://api.github.com/users/suyograo/followers","following_url":"https://api.github.com/users/suyograo/following{/other_user}","gists_url":"https://api.github.com/users/suyograo/gists{/gist_id}","starred_url":"https://api.github.com/users/suyograo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/suyograo/subscriptions","organizations_url":"https://api.github.com/users/suyograo/orgs","repos_url":"https://api.github.com/users/suyograo/repos","events_url":"https://api.github.com/users/suyograo/events{/privacy}","received_events_url":"https://api.github.com/users/suyograo/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-08-04T11:47:02Z","updated_at":"2016-08-22T18:13:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/pulls/27","html_url":"https://github.com/logstash-plugins/logstash-filter-dns/pull/27","diff_url":"https://github.com/logstash-plugins/logstash-filter-dns/pull/27.diff","patch_url":"https://github.com/logstash-plugins/logstash-filter-dns/pull/27.patch"},"body":"Hi,\r\n  before moving forward a good understanding of the issue #26 would be necessary, please read and don't hesitate to ask any doubt you might have, happy to provide all clarification as need. \r\n\r\n~~The solution proposed here goes on the direction of being sure that only 1 thread is entering the jruby resolv land, this will certainly make resolv operation a bit slower, but until the upstream issue gets fixed might be the only way to get this issue fix for Logstash.~~\r\n\r\n~~Discarded solution for this problem.~~\r\n\r\n~~You might think to also initialize the resolver manually before the plugin starts running time, however I discarded this option. For me it was more safe to keep internal jruby logic as it's without touching internals, so we don't cause more issues, probably all unkown.~~\r\n\r\nThis PR got updated with current status of the discussions inside issue #26, short version it add's a patch to let the user change the timeout for the `Resolv::DNS` internal Ruby class. This brings to 1.9 mode, the one Logstash is running, the desired behaviour currently only available for the 2.x ruby series. This solution also include the removal of current usage of the timeout module, the one causing threads to be killed.\r\n\r\n\r\nFixes #26 \r\nRelated https://github.com/jruby/jruby/issues/4048"},"comment":{"url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/issues/comments/241500682","html_url":"https://github.com/logstash-plugins/logstash-filter-dns/pull/27#issuecomment-241500682","issue_url":"https://api.github.com/repos/logstash-plugins/logstash-filter-dns/issues/27","id":241500682,"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-08-22T18:13:18Z","updated_at":"2016-08-22T18:13:18Z","body":"@jsvd I had that thought as well, since I cannot reproduce the same exception (ConcurrencyError). The stack trace is what made me believe it was the timeout library was causing this, but I otherwise have no hypothesis :\\"}}
{"actor":{"display_login":"jordansissel"}}