@Override
    public void run() {
      try {

        // Put Operation
        for (int i = 0; i < rows; i++) {
          byte[] key = Bytes.toBytes(i);
          Put p = new Put(key);
          p.addColumn(fam, qualifier, Bytes.add(key, mobVal));
          table.put(p);
          if (i % 10000 == 0) {
            LOG.info("LOADED=" + i);
            try {
              Thread.sleep(500);
            } catch (InterruptedException ee) {
            }
          }
          if (i % 100000 == 0) {
            printStats(i);
          }
        }
        admin.flush(table.getName());
        run = false;
      } catch (Exception e) {
        LOG.error("MOB Stress Test FAILED", e);
        System.exit(-1);
      }
    }
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