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

版本: 6.8-8.9

简要来说,当 Elasticsearch 由于出现意外令牌而无法解析计划调度时,就会发生此错误。这种情况通常发生在 cron 表达式中存在语法错误或计划格式不正确的时候。

要解决此问题,你应该首先验证 cron 表达式或计划格式。确保它遵循正确的语法,并且不包含任何意外字符。如果问题仍然存在,检查是否有任何更新或补丁可以修复此问题。最后,如果你自己无法解决这个问题,考虑寻求 Elasticsearch 社区或支持团队的帮助。

日志上下文 #

日志 “could not parse [{}] schedule. unexpected token [{}]” 的类名是 HourlySchedule.java。我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考:

XContentParser.Token token;
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
    if (token == XContentParser.Token.FIELD_NAME) {
        currentFieldName = parser.currentName();
    } else if (currentFieldName == null) {
        throw new ElasticsearchParseException("could not parse [{}] schedule. unexpected token [{}]", TYPE, token);
    } else if (MINUTE_FIELD.match(currentFieldName, parser.getDeprecationHandler())) {
        if (token.isValue()) {
            try {
                minutes.add(DayTimes.parseMinuteValue(parser, token));
            } catch (ElasticsearchParseException pe) {