--- title: "Has privilege task cancelled – 如何解决此 Elasticsearch 异常" date: 2026-01-24 lastmod: 2026-01-24 description: "Elasticsearch 中 Has privilege task cancelled 错误通常因用户权限不足导致任务被取消。本文介绍该异常的原因及解决方案。" tags: ["权限", "任务取消", "异常处理", "安全"] summary: " 版本: 8.4-8.9 简而言之,当 Elasticsearch 中的任务因用户权限不足而被取消时,会出现此错误。这可能是由于用户没有执行任务所需的权限,或者任务超过了允许的执行时间。要解决此问题,您可以授予用户必要的权限或增加任务执行时间限制。此外,确保任务不会被其他任务不必要地阻塞。 日志上下文 # 日志 “has privilege task cancelled” 的类名是 TransportProfileHasPrivilegesAction.java。 我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入上下文的人提供参考: request; ActionListener.wrap(applicationPrivilegeDescriptors -> threadPool.generic().execute(() -> { for (Map.EntryprofileUidToSubject : profileSubjectsAndFailures.results()) { // 如果 "has privilege" 任务在此期间被取消,则返回部分响应 if (((CancellableTask) task).isCancelled()) { listener.onFailure(new TaskCancelledException("has privilege task cancelled")); return; } final String profileUid = profileUidToSubject.getKey(); final Subject subject = profileUidToSubject.getValue(); authorizationService.checkPrivileges( " --- > **版本:** 8.4-8.9 简而言之,当 Elasticsearch 中的任务因用户权限不足而被取消时,会出现此错误。这可能是由于用户没有执行任务所需的权限,或者任务超过了允许的执行时间。要解决此问题,您可以授予用户必要的权限或增加任务执行时间限制。此外,确保任务不会被其他任务不必要地阻塞。 日志上下文 ----------- 日志 "has privilege task cancelled" 的类名是 [TransportProfileHasPrivilegesAction.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入上下文的人提供参考: ```java request; ActionListener.wrap(applicationPrivilegeDescriptors -> threadPool.generic().execute(() -> { for (Map.EntryprofileUidToSubject : profileSubjectsAndFailures.results()) { // 如果 "has privilege" 任务在此期间被取消,则返回部分响应 if (((CancellableTask) task).isCancelled()) { listener.onFailure(new TaskCancelledException("has privilege task cancelled")); return; } final String profileUid = profileUidToSubject.getKey(); final Subject subject = profileUidToSubject.getValue(); authorizationService.checkPrivileges( ```