Hello, igniters!
I want to propose a new control.sh cache sub-command that schedules a rebuild
of cache indexes in the maintenance mode.
We already have a force rebuild command but sometimes (for example, under load)
user may want to first stop the node and then rebuild indexes.
For this scenario we can add a command that creates a maintenance task and then
after restart node will enter the maintenance mode and rebuild specified
indexes.
I propose the following API:
--cache schedule_indexes_rebuild --node-id nodeId --target
cacheName1=index1,...indexN
Schedules rebuild of the indexes for specified caches via the Maintenance
Mode.
Parameters:
--node-id - (Optional) Specify node for indexes rebuild.
--target - Cache name with optionally specified indexes. If indexes
are not specified then all indexes of the cache will be scheduled for the
rebuild operation.
As you can see, the user can provide a node id to schedule the rebuild on a
specific node (otherwise the rebuild will be scheduled for all of the nodes)
and targets (specific indexes of a cache or all of the indexes of a cache).
There is a ticket[1] and a pull request[2] for my proposal.
WDYT?
Kind regards,
Semyon.
[1] https://issues.apache.org/jira/browse/IGNITE-17002
[2] https://github.com/apache/ignite/pull/10042