ES 5.2 Java API connection queries-Client Object

We are using ES 5.2 with XPack and Java client. I am curious to know the following points:

Essentially, my cluster consist of 3 Coordinator/3 Master and 6 Data Nodes. Our client specifies IP/Port of all Coordinator nodes to connect.

a. What happens when I initialize the client with PreBuiltXPackTransportClient constructor by supplying Settings,PLUGINS and a hostfailure listener?

b. What happens when I invoke addTransportAddress(new InetSocketTransportAddress constructor) by supplying IP/Port of Co-ordinator nodes.

c. Does it mean Client creates a netty connection/channel to all Coordinator nodes?

d. Internally if sniffing is enabled all the data nodes,master nodes is available to the client. Client does not connect/create a channel to coordinator but forward all request directly to data node.. Is this understanding correct?

e. Does client ever communicate with Data nodes directly bypassing Co-ordinator nodes?

f. Does client maintain a thread pool which queues up different ES operations being invoked from multiple threads using the same client? If yes what is the queue size at the client.

g. Can I create client object connection pool and shuffle across client objects in the same application? How much of that will be an overhead ?

What is understood from the ES5.2 documentation is that client does not bind to the address specified but just connect. Sniffing enables getting all Master/Data nodes information being available at Client.

However Since its Transport Client we are assuming it must be creating Netty Channel.

Guidance will be really helpful.


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.