I ran a "single-node" ES setup, with the gateway config on my ES server (eventually it may be replaced by a cluster of boxes with a shared file system) as:
gateway:
type: fs
fs:
snapshot_interval: 10s
location: /home/escluster/store
and it works, I start it up, set up a few indices, (corresponding data and metadata appeared in the file location specified) and everything is available.
Then on another machine - I'll call it the ES Client - I use the Java API (setting the node on the application to be a non-data client node - without any gateway setting).
I noticed that, subsequently messing with the machines:
If the ES Server node starts up first, and ES Client joins its cluster - every thing is fine, indices are available....
If the ES Client node starts up first, and the ES Server node subsequently starts and join its cluster - indices are not available - as if they were not created, guessing the metadata isn't read from the gateway.
I cannot guarantee order of startup if there's a network/power outage. I want the index data/metadata to live just on the ES Server, so the ES Client shouldn't need access to gateway store at /home/escluster (its just a client and not a data node).
Does anyone has an idea how to get around this or where my configuration is going wrong?