ES 5.2 Java API connection queries-Client Object

(RJIL) #1

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.


(system) #2

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