Client Node using Local Cluster Metadata

We have an ES cluster which is fronted by a service layer. Each
distributed JBoss server which holds our service launches a Client Node and
joins the cluster using multicast discoverty. We are currently utilizing 4
JBoss servers for failover and load balancing.

In our service, I would like to make certain decisions about how to custom
route information based upon the cluster MetaData
(org.elasticsearch.cluster.metadata.MetaData) which is returned from the
ClusterStateRequest.

I am exploring the use of the ClusterStateRequest#local(true) option. If I
use the "local(true)" functionality, the MetaData is returned instantly
which makes me think that it is getting it from the local Client Node. If
it is false, it is not instant which makes me think that it is requesting
the state from the master node instead.

My question is how often or frequent is a client node local cluster
MetaData updated when the cluster MetaData is changed?

Also, is there a notification system that can be accessed in the Java API
to be notified when an index is created or removed?

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Your assumptions about local option are correct. Master publishes all
changes in cluster state to all nodes as soon as it receives them. There is
no official way to register for cluster state change notifications in Java
API, but if you have access to client node you can hack your way through by
getting ClusterService and registerring your ClusterStateListener with it.

On Wednesday, April 3, 2013 1:27:56 PM UTC-4, amos.wood wrote:

We have an ES cluster which is fronted by a service layer. Each
distributed JBoss server which holds our service launches a Client Node and
joins the cluster using multicast discoverty. We are currently utilizing 4
JBoss servers for failover and load balancing.

In our service, I would like to make certain decisions about how to custom
route information based upon the cluster MetaData
(org.elasticsearch.cluster.metadata.MetaData) which is returned from the
ClusterStateRequest.

I am exploring the use of the ClusterStateRequest#local(true) option. If
I use the "local(true)" functionality, the MetaData is returned instantly
which makes me think that it is getting it from the local Client Node. If
it is false, it is not instant which makes me think that it is requesting
the state from the master node instead.

My question is how often or frequent is a client node local cluster
MetaData updated when the cluster MetaData is changed?

Also, is there a notification system that can be accessed in the Java API
to be notified when an index is created or removed?

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Just to clarify ... the master will publish all Metadata changes to the
Client Node as soon as it receives them?

Just to clarify ... using the ClusterStateRequest#local(true) option will
retrieve the MetaData from the Client node only without going to the Master
for it?

On Wednesday, April 3, 2013 1:52:46 PM UTC-5, Igor Motov wrote:

Your assumptions about local option are correct. Master publishes all
changes in cluster state to all nodes as soon as it receives them. There is
no official way to register for cluster state change notifications in Java
API, but if you have access to client node you can hack your way through by
getting ClusterService and registerring your ClusterStateListener with it.

On Wednesday, April 3, 2013 1:27:56 PM UTC-4, amos.wood wrote:

We have an ES cluster which is fronted by a service layer. Each
distributed JBoss server which holds our service launches a Client Node and
joins the cluster using multicast discoverty. We are currently utilizing 4
JBoss servers for failover and load balancing.

In our service, I would like to make certain decisions about how to
custom route information based upon the cluster MetaData
(org.elasticsearch.cluster.metadata.MetaData) which is returned from the
ClusterStateRequest.

I am exploring the use of the ClusterStateRequest#local(true) option. If
I use the "local(true)" functionality, the MetaData is returned instantly
which makes me think that it is getting it from the local Client Node. If
it is false, it is not instant which makes me think that it is requesting
the state from the master node instead.

My question is how often or frequent is a client node local cluster
MetaData updated when the cluster MetaData is changed?

Also, is there a notification system that can be accessed in the Java API
to be notified when an index is created or removed?

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

MetaData is a part of cluster state. So, yes and yes.

On Wednesday, April 3, 2013 3:33:06 PM UTC-4, amos.wood wrote:

Just to clarify ... the master will publish all Metadata changes to the
Client Node as soon as it receives them?

Just to clarify ... using the ClusterStateRequest#local(true) option will
retrieve the MetaData from the Client node only without going to the Master
for it?

On Wednesday, April 3, 2013 1:52:46 PM UTC-5, Igor Motov wrote:

Your assumptions about local option are correct. Master publishes all
changes in cluster state to all nodes as soon as it receives them. There is
no official way to register for cluster state change notifications in Java
API, but if you have access to client node you can hack your way through by
getting ClusterService and registerring your ClusterStateListener with it.

On Wednesday, April 3, 2013 1:27:56 PM UTC-4, amos.wood wrote:

We have an ES cluster which is fronted by a service layer. Each
distributed JBoss server which holds our service launches a Client Node and
joins the cluster using multicast discoverty. We are currently utilizing 4
JBoss servers for failover and load balancing.

In our service, I would like to make certain decisions about how to
custom route information based upon the cluster MetaData
(org.elasticsearch.cluster.metadata.MetaData) which is returned from the
ClusterStateRequest.

I am exploring the use of the ClusterStateRequest#local(true) option.
If I use the "local(true)" functionality, the MetaData is returned
instantly which makes me think that it is getting it from the local Client
Node. If it is false, it is not instant which makes me think that it is
requesting the state from the master node instead.

My question is how often or frequent is a client node local cluster
MetaData updated when the cluster MetaData is changed?

Also, is there a notification system that can be accessed in the Java
API to be notified when an index is created or removed?

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.