@Override
  public List<HiveObjectPrivilege> listPrincipalDCGrants(String principalName,
                                                         PrincipalType principalType,
                                                         String dcName) {
    List<MDCPrivilege> mDcs = listPrincipalMDCGrants(principalName, principalType, dcName);
    if (mDcs.isEmpty()) {
      return Collections.emptyList();
    }
    List<HiveObjectPrivilege> result = new ArrayList<>();
    for (int i = 0; i < mDcs.size(); i++) {
      MDCPrivilege sDC = mDcs.get(i);
      HiveObjectRef objectRef = new HiveObjectRef(
              HiveObjectType.DATACONNECTOR, null, dcName, null, null);
      HiveObjectPrivilege secObj = new HiveObjectPrivilege(objectRef,
              sDC.getPrincipalName(), principalType,
              new PrivilegeGrantInfo(sDC.getPrivilege(), sDC
                      .getCreateTime(), sDC.getGrantor(), PrincipalType
                      .valueOf(sDC.getGrantorType()), sDC.getGrantOption()), sDC.getAuthorizer());
      result.add(secObj);
    }
    return result;
  }
Add role names of parentRoles and its parents to processedRoles
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java