public void init(Configuration conf, long numRows) throws IOException {
    this.conf = conf;
    this.count = numRows;
    initConf();
    printConf();
    Connection conn = ConnectionFactory.createConnection(this.conf);
    this.admin = conn.getAdmin();
    this.familyDescriptor = ColumnFamilyDescriptorBuilder.newBuilder(fam).setMobEnabled(true)
      .setMobThreshold(mobLen).setMaxVersions(1).build();
    this.tableDescriptor =
      TableDescriptorBuilder.newBuilder(TableName.valueOf("testMobCompactTable"))
        .setColumnFamily(familyDescriptor).build();
    if (admin.tableExists(tableDescriptor.getTableName())) {
      admin.disableTable(tableDescriptor.getTableName());
      admin.deleteTable(tableDescriptor.getTableName());
    }
    admin.createTable(tableDescriptor);
    table = conn.getTable(tableDescriptor.getTableName());
  }
Reproduction for MOB data loss 1. Settings: Region Size 200 MB, Flush threshold 800 KB. 2. Insert
10 Million records 3. MOB Compaction and Archiver a) Trigger MOB Compaction (every 2 minutes) b)
Trigger major compaction (every 2 minutes) c) Trigger archive cleaner (every 3 minutes) 4.
Validate MOB data after complete data load. This class is used by MobStressTool only. This is not
a unit test
hbase-server/src/test/java/org/apache/hadoop/hbase/mob/MobStressToolRunner.java