private static void checkColumnFamilyDescriptor(Configuration conf, TableName table,
    FileSystem fs, Admin admin, ColumnFamilyDescriptor hcd, Set<String> regionNames,
    long maxCreationTimeToArchive) throws IOException {
    List<Path> toArchive = new ArrayList<Path>();
    String family = hcd.getNameAsString();
    Path dir = MobUtils.getMobFamilyPath(conf, table, family);
    RemoteIterator<LocatedFileStatus> rit = fs.listLocatedStatus(dir);
    while (rit.hasNext()) {
      LocatedFileStatus lfs = rit.next();
      Path p = lfs.getPath();
      String[] mobParts = p.getName().split("_");
      String regionName = mobParts[mobParts.length - 1];

      if (!regionNames.contains(regionName)) {
        // MOB belonged to a region no longer hosted
        long creationTime = fs.getFileStatus(p).getModificationTime();
        if (creationTime < maxCreationTimeToArchive) {
          LOG.trace("Archiving MOB file {} creation time={}", p,
            (fs.getFileStatus(p).getModificationTime()));
          toArchive.add(p);
        } else {
          LOG.trace("Skipping fresh file: {}. Creation time={}", p,
            fs.getFileStatus(p).getModificationTime());
        }
      } else {
        LOG.trace("Keeping MOB file with existing region: {}", p);
      }
    }
    LOG.info(" MOB Cleaner found {} files to archive for table={} family={}", toArchive.size(),
      table, family);
    archiveMobFiles(conf, table, admin, family.getBytes(), toArchive);
    LOG.info(" MOB Cleaner archived {} files, table={} family={}", toArchive.size(), table, family);
  }
Performs housekeeping file cleaning (called by MOB Cleaner chore)
@param conf  configuration
@param table table name
@throws IOException exception
hbase-server/src/main/java/org/apache/hadoop/hbase/mob/MobFileCleanupUtil.java