@Override
  public TSStatus checkUserSysPrivilegesGrantOpt(String username, PrivilegeType permission) {
    checkCacheAvailable();
    return checkPrivilege(
        username,
        new PrivilegeUnion(permission, true),
        (role, union) -> role.checkSysPriGrantOpt(union.getPrivilegeType()),
        new TCheckUserPrivilegesReq(
            username, PrivilegeModelType.SYSTEM.ordinal(), permission.ordinal(), true));
  }
-- check user privileges SYSTEM, TREE, RELATIONAL-- *
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/auth/ClusterAuthorityFetcher.java