版本: 6.8-7.17
简而言之,当 Elasticsearch 尝试检索用户角色但遇到意外的数据格式时,会发生此错误。它期望得到一个对象,但接收到不同的数据类型,可能是数组或字符串。要解决此问题,请确保在 Elasticsearch 安全设置中正确定义了角色。检查您的角色格式,并确保它们是对象,而不是数组或字符串。此外,请验证您的 Elasticsearch 版本支持您使用的角色格式。如果错误仍然存在,请考虑重新定义您的角色或更新您的 Elasticsearch 版本。
日志上下文 #
日志 “failed to retrieve roles; expecting an object but got:” 的类名是 ESNativeRealmMigrateTool.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人使用:
existingRoles.add(roleName);
parser.nextToken();
parser.skipChildren();
}
} else {
throw new ElasticsearchException("failed to retrieve roles; expecting an object but got: " + token);
}
}
terminal.println("found existing roles: " + existingRoles);
return existingRoles;
}





