New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sniffing should only find non-master-only nodes #251
Comments
Yes, absolutely, we should add this.
Not really sure -- I guess we don't want to add any potential "client" and "tribe" nodes to the pool? |
@karmi I was thinking we actually would want to add client nodes, but now I see that you're correct and we shouldn't. In the event that a user is using client nodes as load balancers and avoid having the reduce phase of search be executed on data nodes, it'd be great to add them. However, if they're using client nodes as part of an app that'd be bad. So, I think we should do what the main transport client does and just hit data nodes for now since we can't make a distinction there. |
Maybe the right thing to do is to have sniffing include the attributes of discovered nodes on which it makes sense to filter them from use by clients. Then any client implementation can do exactly that. Once that interface is available, then maybe a standard language client feature providing some syntactic sugar around it could be added. |
@GlenRSmith, I think a dedicated "feature" like this would put some unnecessary load on the ES core, but a twist on the idea would be to revisit the ES core code from the perspective of client sniffing, making sure it plays nice... |
Closing this particular issue. If still required, this is a discussion that should be held in the entire Clients team for all clients. |
Currently the sniffer searches for all nodes. However, in a cluster with dedicated master nodes this is not desirable! The ruby client behavior should do something similar to what the Transport client does here.
There is, by the way, one deficiency with the transport client, in that it ONLY adds nodes with
data
enabled. We should also have this matchmaster: false
nodes.The text was updated successfully, but these errors were encountered: