mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 10:25:15 +00:00
execute the indices store listener as a last listener, to make sure we clean things up before we delete content if needed
This commit is contained in:
parent
df3fa9c067
commit
5ed064d532
@ -59,6 +59,11 @@ public interface ClusterService extends LifecycleComponent<ClusterService> {
|
||||
*/
|
||||
void addPriority(ClusterStateListener listener);
|
||||
|
||||
/**
|
||||
* Adds last listener.
|
||||
*/
|
||||
void addLast(ClusterStateListener listener);
|
||||
|
||||
/**
|
||||
* Adds a listener for updated cluster states.
|
||||
*/
|
||||
|
@ -79,6 +79,7 @@ public class InternalClusterService extends AbstractLifecycleComponent<ClusterSe
|
||||
|
||||
private final List<ClusterStateListener> priorityClusterStateListeners = new CopyOnWriteArrayList<ClusterStateListener>();
|
||||
private final List<ClusterStateListener> clusterStateListeners = new CopyOnWriteArrayList<ClusterStateListener>();
|
||||
private final List<ClusterStateListener> lastClusterStateListeners = new CopyOnWriteArrayList<ClusterStateListener>();
|
||||
|
||||
private final Queue<NotifyTimeout> onGoingTimeouts = new LinkedTransferQueue<NotifyTimeout>();
|
||||
|
||||
@ -152,6 +153,10 @@ public class InternalClusterService extends AbstractLifecycleComponent<ClusterSe
|
||||
priorityClusterStateListeners.add(listener);
|
||||
}
|
||||
|
||||
public void addLast(ClusterStateListener listener) {
|
||||
lastClusterStateListeners.add(listener);
|
||||
}
|
||||
|
||||
public void add(ClusterStateListener listener) {
|
||||
clusterStateListeners.add(listener);
|
||||
}
|
||||
@ -264,6 +269,9 @@ public class InternalClusterService extends AbstractLifecycleComponent<ClusterSe
|
||||
for (ClusterStateListener listener : clusterStateListeners) {
|
||||
listener.clusterChanged(clusterChangedEvent);
|
||||
}
|
||||
for (ClusterStateListener listener : lastClusterStateListeners) {
|
||||
listener.clusterChanged(clusterChangedEvent);
|
||||
}
|
||||
|
||||
if (!nodesDelta.removedNodes().isEmpty()) {
|
||||
threadPool.cached().execute(new Runnable() {
|
||||
|
@ -54,7 +54,7 @@ public class IndicesStore extends AbstractComponent implements ClusterStateListe
|
||||
this.nodeEnv = nodeEnv;
|
||||
this.indicesService = indicesService;
|
||||
this.clusterService = clusterService;
|
||||
clusterService.add(this);
|
||||
clusterService.addLast(this);
|
||||
}
|
||||
|
||||
public void close() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user