sweep
public int sweep(TableName tn,
HColumnDescriptor family)
throws java.io.IOException,
java.lang.ClassNotFoundException,
java.lang.InterruptedException,
KeeperException
Runs MapReduce to do the sweeping on the mob files.
There's a MobReferenceOnlyFilter so that the mappers only get the cells that have mob
references from 'normal' regions' rows.
The running of the sweep tool on the same column family are mutually exclusive.
The HBase major compaction and running of the sweep tool on the same column family
are mutually exclusive.
The synchronization is done by the Zookeeper.
So in the beginning of the running, we need to make sure only this sweep tool is the only one
that is currently running in this column family, and in this column family there're no major
compaction in progress.
- Parameters:
tn
- The current table name.
family
- The descriptor of the current column family.
- Returns:
- 0 upon success, 3 if bailing out because another compaction is currently happening,
or 4 the mr job was unsuccessful
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
java.lang.InterruptedException
KeeperException