Briefly, this error occurs when there’s a change in the assignment of an Elasticsearch datafeed while it’s in the process of being stopped. This could be due to a configuration issue or a timing problem. To resolve this, you can try the following: 1) Ensure that the datafeed is not being used or modified by another process while it’s being stopped. 2) Check the configuration of the datafeed for any inconsistencies. 3) Try stopping the datafeed again after a short delay. If the problem persists, it may be necessary to restart the Elasticsearch cluster.
This guide will help you check for common problems that cause the log ” Datafeed [{}] changed assignment while waiting for it to be stopped ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.
Log Context
Log “Datafeed [{}] changed assignment while waiting for it to be stopped” classname is TransportStopDatafeedAction.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
&& originalPersistentTask.getAllocationId() == currentPersistentTask.getAllocationId()) { return false; } StartDatafeedAction.DatafeedParams params = (StartDatafeedAction.DatafeedParams) originalPersistentTask.getParams(); if (movedDatafeeds.add(params.getDatafeedId())) { logger.info("Datafeed [{}] changed assignment while waiting for it to be stopped"; params.getDatafeedId()); } } } return true; }; request.getTimeout(); listener.delegateFailure((l; result) -> l.onResponse(response)));