private void calculateMobLengthMap(SetMultimap<TableName, String> mobRefs) throws IOException {
    FileSystem fs = store.getFileSystem();
    HashMap<String, Long> map = mobLengthMap.get();
    map.clear();
    for (Entry<TableName, String> reference : mobRefs.entries()) {
      final TableName table = reference.getKey();
      final String mobfile = reference.getValue();
      if (MobFileName.isOldMobFileName(mobfile)) {
        disableIO.set(Boolean.TRUE);
      }
      List<Path> locations = mobStore.getLocations(table);
      for (Path p : locations) {
        try {
          FileStatus st = fs.getFileStatus(new Path(p, mobfile));
          long size = st.getLen();
          LOG.debug("Referenced MOB file={} size={}", mobfile, size);
          map.put(mobfile, size);
          break;
        } catch (FileNotFoundException exception) {
          LOG.debug("Mob file {} was not in location {}. May have other locations to try.", mobfile,
            p);
        }
      }
      if (!map.containsKey(mobfile)) {
        throw new FileNotFoundException("Could not find mob file " + mobfile + " in the list of "
          + "expected locations: " + locations);
      }
    }
  }
@param mobRefs multimap of original table name -> mob hfile
hbase-server/src/main/java/org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java