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

版本: 6.8-8.9

简而言之,当 Elasticsearch 无法检索事务日志的最早修改时间时会发生此错误。这可能是由于文件权限、磁盘空间或事务日志损坏问题导致的。要解决此问题,您可以尝试以下方法:1)检查并调整文件权限,确保 Elasticsearch 可以访问日志文件。2)如果磁盘空间不足,请释放磁盘空间。3)如果事务日志损坏,您可能需要从备份恢复或执行重新索引操作。

日志上下文 #

日志 “Unable to get the earliest last modified time for the transaction log” 的类名是 Translog.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人使用:

long earliestLastModifiedAge() {
    try (ReleasableLock ignored = readLock.acquire()) {
        ensureOpen();
        return findEarliestLastModifiedAge(System.currentTimeMillis(), readers, current);
    } catch (IOException e) {
        throw new TranslogException(shardId, "Unable to get the earliest last modified time for the transaction log");
    }
}

/**
 * Returns the age of the oldest entry in the translog files in seconds