{"action":"created","issue":{"url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/issues/47","repository_url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats","labels_url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/issues/47/comments","events_url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/issues/47/events","html_url":"https://github.com/logstash-plugins/logstash-input-beats/pull/47","id":131970159,"number":47,"title":"Parse compressed body directly","user":{"login":"urso","id":75886,"avatar_url":"https://avatars.githubusercontent.com/u/75886?v=3","gravatar_id":"","url":"https://api.github.com/users/urso","html_url":"https://github.com/urso","followers_url":"https://api.github.com/users/urso/followers","following_url":"https://api.github.com/users/urso/following{/other_user}","gists_url":"https://api.github.com/users/urso/gists{/gist_id}","starred_url":"https://api.github.com/users/urso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/urso/subscriptions","organizations_url":"https://api.github.com/users/urso/orgs","repos_url":"https://api.github.com/users/urso/repos","events_url":"https://api.github.com/users/urso/events{/privacy}","received_events_url":"https://api.github.com/users/urso/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"ph","id":640,"avatar_url":"https://avatars.githubusercontent.com/u/640?v=3","gravatar_id":"","url":"https://api.github.com/users/ph","html_url":"https://github.com/ph","followers_url":"https://api.github.com/users/ph/followers","following_url":"https://api.github.com/users/ph/following{/other_user}","gists_url":"https://api.github.com/users/ph/gists{/gist_id}","starred_url":"https://api.github.com/users/ph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ph/subscriptions","organizations_url":"https://api.github.com/users/ph/orgs","repos_url":"https://api.github.com/users/ph/repos","events_url":"https://api.github.com/users/ph/events{/privacy}","received_events_url":"https://api.github.com/users/ph/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2016-02-07T13:50:51Z","updated_at":"2016-02-21T18:36:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/pulls/47","html_url":"https://github.com/logstash-plugins/logstash-input-beats/pull/47","diff_url":"https://github.com/logstash-plugins/logstash-input-beats/pull/47.diff","patch_url":"https://github.com/logstash-plugins/logstash-input-beats/pull/47.patch"},"body":"Fixes connection failures due to buffer handling if data read from socket\r\ncontain partial content from next message by parsing decompressed content directly.\r\n\r\nFix is specific for libbeat output plugin and fixes issues encountered in PR elastic/beats#941.\r\nErrors encountered have been similar to: #44, #35, #34\r\n\r\nChecking throughput on hetzner test-machine improved by ~10% from 20k eps to 22k eps. Enabling PR elastic/beats#941, throughput increased to ~25.5k eps. With 2 workers it increased to 43k eps. "},"comment":{"url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/issues/comments/186882913","html_url":"https://github.com/logstash-plugins/logstash-input-beats/pull/47#issuecomment-186882913","issue_url":"https://api.github.com/repos/logstash-plugins/logstash-input-beats/issues/47","id":186882913,"user":{"login":"urso","id":75886,"avatar_url":"https://avatars.githubusercontent.com/u/75886?v=3","gravatar_id":"","url":"https://api.github.com/users/urso","html_url":"https://github.com/urso","followers_url":"https://api.github.com/users/urso/followers","following_url":"https://api.github.com/users/urso/following{/other_user}","gists_url":"https://api.github.com/users/urso/gists{/gist_id}","starred_url":"https://api.github.com/users/urso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/urso/subscriptions","organizations_url":"https://api.github.com/users/urso/orgs","repos_url":"https://api.github.com/users/urso/repos","events_url":"https://api.github.com/users/urso/events{/privacy}","received_events_url":"https://api.github.com/users/urso/received_events","type":"User","site_admin":false},"created_at":"2016-02-21T18:36:31Z","updated_at":"2016-02-21T18:36:31Z","body":"Have been thinking about creating a new parser instance first, but found the buffer handling a little tricky in current implementation. The compressed payload contains complete content and parser must not wait for any additional input + must consume complete buffer.\r\n\r\nThen parsing the content as being send by beats is quite simple and I found dissecting the buffer as is pretty straight forward (e.g. line 314 to 320 is only for BC)."}}