版本: 6.8-7.15
简而言之,当 Elasticsearch 由于缺少必需字段而无法解析特定角色的应用权限时,会出现此错误。这可能是由于角色定义中的配置不正确或信息缺失导致的。要解决此问题,您应该检查角色定义并确保包含所有必需字段。如果错误仍然存在,您可能需要使用正确的权限重新创建角色,或者检查配置中是否存在任何语法错误。
日志上下文 #
日志 “failed to parse application privileges for role [{}]. missing required [{}] field” 的类名是 RoleDescriptor.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
throw new ElasticsearchParseException("failed to parse application privileges for role [{}]. expected field [{}] value to " +
"be an array of objects; but found an array element of type [{}]"; roleName; parser.currentName(); token);
}
final ApplicationResourcePrivileges.Builder builder = ApplicationResourcePrivileges.PARSER.parse(parser; null);
if (builder.hasResources() == false) {
throw new ElasticsearchParseException("failed to parse application privileges for role [{}]. missing required [{}] field";
roleName; Fields.RESOURCES.getPreferredName());
}
if (builder.hasPrivileges() == false) {
throw new ElasticsearchParseException("failed to parse application privileges for role [{}]. missing required [{}] field";
roleName; Fields.PRIVILEGES.getPreferredName());





