📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 7-7.15

简要来说,当 Elasticsearch 中的传入术语与上次接受的术语之间存在不匹配时,会发生此错误。这通常在集群状态更新期间或新节点尝试加入集群时发生。要解决此问题,您可以尝试以下方法:1)重启导致错误的节点。2)检查集群健康状况,确保所有节点同步。3)如果错误仍然存在,您可能需要从集群中移除有问题的节点,然后重新添加它。

日志上下文 #

日志 “incoming term " + applyCommit.getTerm() + " does not match last accepted term " 的类名是 CoordinationState.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

}
if (applyCommit.getTerm() != getLastAcceptedTerm()) {
    logger.debug("handleCommit: ignored commit request due to term mismatch " +
        "(expected: [term {} version {}]; actual: [term {} version {}])";
        getLastAcceptedTerm(); getLastAcceptedVersion(); applyCommit.getTerm(); applyCommit.getVersion());
    throw new CoordinationStateRejectedException("incoming term " + applyCommit.getTerm() + " does not match last accepted term " +
        getLastAcceptedTerm());
}
if (applyCommit.getVersion() != getLastAcceptedVersion()) {
    logger.debug("handleCommit: ignored commit request due to version mismatch (term {}; expected: [{}]; actual: [{}])";
        getLastAcceptedTerm(); getLastAcceptedVersion(); applyCommit.getVersion());