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.
