public void reportMobCompactionEnd(TableName tableName) throws IOException {
    IdLock.Entry lockEntry = null;
    try {
      lockEntry = mobCompactionLock.getLockEntry(tableName.hashCode());
      AtomicInteger compactionsCount = mobCompactionStates.get(tableName);
      if (compactionsCount != null) {
        int count = compactionsCount.decrementAndGet();
        // remove the entry if the count is 0.
        if (count == 0) {
          mobCompactionStates.remove(tableName);
        }
      }
    } finally {
      if (lockEntry != null) {
        mobCompactionLock.releaseLockEntry(lockEntry);
      }
    }
  }
Gets the mob file compaction state for a specific table. Whether all the mob files are selected
is known during the compaction execution, but the statistic is done just before compaction
starts, it is hard to know the compaction type at that time, so the rough statistics are chosen
for the mob file compaction. Only two compaction states are available,
CompactionState.MAJOR_AND_MINOR and CompactionState.NONE.
@param tableName The current table name.
@return If a given table is in mob file compaction now.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java