public static void getPartitionListByFilterExp(IMetaStoreClient msc, Table table, byte[] filterExp,
                                                 String defaultPartName, List<Partition> results)
      throws MetastoreException {
    try {
      msc.listPartitionsByExpr(table.getCatName(), table.getDbName(), table.getTableName(), filterExp,
          defaultPartName, (short) -1, results);
    } catch (Exception e) {
      throw new MetastoreException(e);
    }
  }
This class is used to group the partitions based on a shared storage descriptor.
The following fields are considered for hashing/equality:
<ul>
  <li>location</li>
  <li>serializationLib</li>
  <li>inputFormat</li>
  <li>outputFormat</li>
  <li>columns</li>
</ul>

For objects that share these can share the same storage descriptor,
significantly reducing on-the-wire cost.

Check {@link #getPartitionspecsGroupedByStorageDescriptor} for more details
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/utils/MetaStoreServerUtils.java