I'm trying to figure out the best way to perform a zero-downtime split operation. I have a few questions:
- Is it possible for writes to go into the new index while the split is ongoing? Or should I shut down write operations until the split is finished?
- I've read forum posts talking about deleteByQuery being run while the split is happening, but this doesn't appear in the current documentation. Am I correct in assuming that the old source index is left intact during the split operation? IE - I can read from the source index during and after the split and can simply delete it when I'm ready.
Right now my plan is to:
- Upscale so that each node has less than 35% disk usage.
- Convert index to read-only.
- Trigger the split.
- Change the aliases to write to new index.
- Wait for split to complete.
- Update aliases to read from new index.
Steps 2-4 would all happen as simultaneously as possible. Does this seem like a good plan?