@Override
  public boolean drop_partition_req(final DropPartitionRequest dropPartitionReq) throws TException {
    String dbName = dropPartitionReq.getDbName();
    String catName = dropPartitionReq.getCatName();
    String tbl_name = dropPartitionReq.getTblName();
    List<String> part_vals = dropPartitionReq.getPartVals();
    boolean ret = false;
    Exception ex = null;
    try {
      if (part_vals == null || part_vals.isEmpty()) {
        part_vals = getPartValsFromName(getMS(), catName, dbName, tbl_name, dropPartitionReq.getPartName());
      }
      startPartitionFunction("drop_partition_req", catName, dbName, tbl_name, part_vals);
      LOG.info("Partition values:" + part_vals);
      ret = drop_partition_common(getMS(), catName, dbName,
              tbl_name, part_vals, dropPartitionReq.isDeleteData(), dropPartitionReq.getEnvironmentContext());
    } catch (Exception e) {
      ex = e;
      handleException(e).convertIfInstance(InvalidObjectException.class, NoSuchObjectException.class)
          .rethrowException(e);
    } finally {
      endFunction("drop_partition_req", ret, ex, tbl_name);
    }
    return ret;
  }
The largest {@code depth} is processed first in a {@link PriorityQueue}.
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HMSHandler.java