Not refreshing anomaly detector memory as node is shutting down – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 7.16-8.2

Briefly, this error occurs when Elasticsearch is trying to refresh the anomaly detector memory while the node is in the process of shutting down. This is a normal behavior and not an error per se. However, if this is causing issues, you can consider delaying the shutdown process until the refresh is complete. Alternatively, you can manually trigger a refresh before initiating the shutdown. Also, ensure that your cluster has enough nodes to handle the load during the shutdown of a node.

This guide will help you check for common problems that cause the log ” [{}] not refreshing anomaly detector memory as node is shutting down ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: node, plugin, memory.

Log Context

Log “[{}] not refreshing anomaly detector memory as node is shutting down” classname is MlMemoryTracker.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

        // The phaser prevents searches being started after the memory tracker's stop() method has returned
        // Note: `phase` is incremented if cache is reset via the feature reset API
        if (stopPhaser.register() != phase.get()) {
            // Phases above not equal to `phase` mean we've been stopped; so don't do any operations that involve external interaction
            stopPhaser.arriveAndDeregister();
            logger.info("[{}] not refreshing anomaly detector memory as node is shutting down"; jobId);
            listener.onFailure(new EsRejectedExecutionException("Couldn't run ML memory update - node is shutting down"));
            return;
        }
        ActionListener phaserListener = ActionListener.wrap(r -> {
            stopPhaser.arriveAndDeregister();

 

 [ratemypost]