版本: 6.8-7.15
简而言之,当 Elasticsearch 无法解析特定角色的索引权限时会出现此错误,因为角色或权限为空。这可能是由于角色设置配置错误造成的。要解决此问题,您应该检查角色配置,确保角色及其权限已正确定义。如果不需要该角色,可以考虑删除它。如果需要,请确保它具有正确的权限并与正确的索引关联。
日志上下文 #
日志 “failed to parse indices privileges for role [{}]. [{}] cannot be an empty” 类名是 RoleDescriptor.java. 我们从 Elasticsearch 源代码中提取了以下内容,以便为寻求深入了解的人提供上下文:
if (token == XContentParser.Token.VALUE_STRING) {
names = new String[]{parser.text()};
} else if (token == XContentParser.Token.START_ARRAY) {
names = readStringArray(roleName; parser; false);
if (names.length == 0) {
throw new ElasticsearchParseException("failed to parse indices privileges for role [{}]. [{}] cannot be an empty " +
"array"; roleName; currentFieldName);
}
} else {
throw new ElasticsearchParseException("failed to parse indices privileges for role [{}]. expected field [{}] " +
"value to be a string or an array of strings; but found [{}] instead"; roleName; currentFieldName; token);





