File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
server/src/main/java/org/elasticsearch/index/engine Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -75,6 +75,12 @@ public synchronized void registerMergeScheduler(ThreadPoolMergeScheduler threadP
7575 }
7676 }
7777
78+ public synchronized void unregisterMergeScheduler (ThreadPoolMergeScheduler threadPoolMergeScheduler ) {
79+ if (registeredMergeSchedulers .remove (threadPoolMergeScheduler ) == false ) {
80+ throw new IllegalStateException ("cannot unregister if the scheduler has not been registered" );
81+ }
82+ }
83+
7884 public synchronized void updateMergeScheduler (
7985 ThreadPoolMergeScheduler threadPoolMergeScheduler ,
8086 Consumer <ThreadPoolMergeScheduler > updater
Original file line number Diff line number Diff line change @@ -438,6 +438,13 @@ protected void message(String message) {
438438 super .message (message );
439439 }
440440
441+ /** Close this MergeScheduler. */
442+ @ Override
443+ public void close () throws IOException {
444+ super .close ();
445+ threadPoolMergeExecutor .unregisterMergeScheduler (this );
446+ }
447+
441448 private static double nsToSec (long ns ) {
442449 return ns / (double ) TimeUnit .SECONDS .toNanos (1 );
443450 }
You can’t perform that action at this time.
0 commit comments