I just start using Elasticsearch and analyze its source code.

I need to modify its discovery system by registering the nodes on a kind of 
database. So I suppose that it's easier to develop a plugin instead of 
modifying the source itself.
But after reading some discovery plugins like the basic one Zen disocvery, 
zookeeper discovery or cloud-aws plugin, I still don't understand some 
things.


   1. How to provide the discovered nodes to the elasticsearch core 
   programm? I think it uses the "DiscoveryNodes" class.
   2. I saw that the different discovery classes use different elements for 
   their constructors but where are they defined?
   3. I don't understand what the "ClusterState" is after reading the code 
   and why it is useful.
   4. I didn't understand what the "AbstractLifecycleComponent" class 
   works. It seems to be like a thread or runnable class but it isn't and just 
   provides "doStart". What is it?
   5. Is the publish action from master mandatory? Because, if I use a 
   database, I won't use it.
   

I didn't find enough documentation about the source code so a little help 
would be great.

To implement this discovery plugin, I thought about a thread, which is 
started be the discovery class, retrieving information from the database 
periodically. But I don't know where I have to register the new nodes 
discovered by this thread on the database (in the DiscoveryNodes class?).

Thanks for reading.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/41ec456c-744f-4454-8d47-89e89c7b5a93%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to