{"action":"created","issue":{"url":"https://api.github.com/repos/elastic/logstash/issues/4433","labels_url":"https://api.github.com/repos/elastic/logstash/issues/4433/labels{/name}","comments_url":"https://api.github.com/repos/elastic/logstash/issues/4433/comments","events_url":"https://api.github.com/repos/elastic/logstash/issues/4433/events","html_url":"https://github.com/elastic/logstash/issues/4433","id":125506609,"number":4433,"title":"Deprecating Node Protocol","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/elastic/logstash/labels/design","name":"design","color":"eb6420"},{"url":"https://api.github.com/repos/elastic/logstash/labels/discuss","name":"discuss","color":"cc317c"},{"url":"https://api.github.com/repos/elastic/logstash/labels/question","name":"question","color":"cc317c"},{"url":"https://api.github.com/repos/elastic/logstash/labels/v2.2.0","name":"v2.2.0","color":"ededed"}],"state":"open","locked":false,"assignee":{"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},"milestone":null,"comments":5,"created_at":"2016-01-07T23:14:06Z","updated_at":"2016-01-08T13:51:28Z","closed_at":null,"body":"The node protocol is a giant pain for both Logstash users and Logstash developers.\r\n\r\nWhy node is bad for users:\r\nUsers think they can use it to gain a speed boost (which it doesn't actually provide). After trying node they then wind up posting bug reports due to broken configurations (setting up a valid node is more complex than HTTP or transport). This makes for disappointed users and disappointed developers.\r\n\r\nWhy node is bad for developers:\r\n\r\nWe waste time debugging node configuration errors\r\nWe currently have to maintain an extra logstash-output-elasticsearch-license plugin JUST for the use case of shield / marvel + logstash. Additionally, the error messages generated in this scenario are plain ridiculous to debug.\r\nWhy user like node\r\n\r\nThey can see which Logstashes are active via the Elasticsearch node list (the next major of Logstash will cover this with Metrics however)\r\nperceived speed\r\nmulticast discoverability (though we now discourage this in Elasticsearch)\r\nIMHO we should deprecate node soon, and consider removing it in the next major release. Perhaps a community member would be interested in maintaining that as a separate plugin.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/elastic/logstash/issues/comments/170009028","html_url":"https://github.com/elastic/logstash/issues/4433#issuecomment-170009028","issue_url":"https://api.github.com/repos/elastic/logstash/issues/4433","id":170009028,"user":{"login":"djschny","id":129643,"avatar_url":"https://avatars.githubusercontent.com/u/129643?v=3","gravatar_id":"","url":"https://api.github.com/users/djschny","html_url":"https://github.com/djschny","followers_url":"https://api.github.com/users/djschny/followers","following_url":"https://api.github.com/users/djschny/following{/other_user}","gists_url":"https://api.github.com/users/djschny/gists{/gist_id}","starred_url":"https://api.github.com/users/djschny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djschny/subscriptions","organizations_url":"https://api.github.com/users/djschny/orgs","repos_url":"https://api.github.com/users/djschny/repos","events_url":"https://api.github.com/users/djschny/events{/privacy}","received_events_url":"https://api.github.com/users/djschny/received_events","type":"User","site_admin":false},"created_at":"2016-01-08T13:51:28Z","updated_at":"2016-01-08T13:51:28Z","body":"While the http protocol is now our official stance and I agree with the push of it, there are two items that make me hesitant about doing an action such as a plan to remove all together the `node` protocol:\r\n\r\n* The node protocol is the only one out of the three that has the ability to support multicast discovery (unless I'm missing a way to do it with the other two). I know we recommend unicast heavily, but there is still no denying that some of our user base like and still use multicast. I recall using it before for years on 5 node or less deployments with absolutely no issues. It the benefit of not having to maintain node seed lists was appealing. Unless we offer this ability a pre-step for the transport or http protocols I think it should be deprecated, but not planned for removal.\r\n* it may feel better for us to make the move to EOL our commitment to maintaining this plugin code base all together and let the community decide whether they want to continue to maintain the `elasticsearch_java` plugin which supports both node and transport."}}