Briefly, this error occurs when you try to stop an Elasticsearch Transform that is not currently in the middle of a checkpoint. This could be due to the Transform having already completed its task or being in an idle state. To resolve this issue, you can either wait for the Transform to reach its next checkpoint before attempting to stop it, or you can force stop the Transform using the force parameter in the stop Transform API. Alternatively, you can check the Transform’s state using the get Transform stats API before attempting to stop it.
This guide will help you check for common problems that cause the log ” [{}] transform is no longer in the middle of a checkpoint; initiating stop. ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.
Log Context
Log “[{}] transform is no longer in the middle of a checkpoint; initiating stop.” classname is TransformIndexer.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
// // In either case; we should stop so that we guarantee a consistent state and that there are no partially completed checkpoints if (shouldStopAtCheckpoint && initialRun() && indexerState.equals(IndexerState.STARTED)) { indexerState = IndexerState.STOPPED; auditor.info(transformConfig.getId(); "Transform is no longer in the middle of a checkpoint; initiating stop."); logger.info("[{}] transform is no longer in the middle of a checkpoint; initiating stop."; transformConfig.getId()); } // This means that the indexer was triggered to discover changes; found none; and exited early. // If the state is `STOPPED` this means that TransformTask#stop was called while we were checking for changes. // Allow the stop call path to continue