mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-09 14:34:43 +00:00
Previously, we would determine index deletes in the cluster state by comparing the index metadatas between the current cluster state and the previous cluster state and decipher which ones were missing (the missing ones are deleted indices). This led to a situation where a node that went offline and rejoined the cluster could potentially cause dangling indices to be imported which should have been deleted, because when a node rejoins, its previous cluster state does not contain reliable state. This commit introduces the notion of index tombstones in the cluster state, where we are explicit about which indices have been deleted. In the case where the previous cluster state is not useful for index metadata comparisons, a node now determines which indices are to be deleted based on these tombstones in the cluster state. There is also functionality to purge the tombstones after exceeding a certain amount. Closes #17265 Closes #16358 Closes #17435