private void createTableIfMissing(Admin admin, boolean useMob) throws IOException {
    if (!admin.tableExists(TABLE_NAME)) {
      TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(TABLE_NAME);
      Stream.of(FAMILIES).map(ColumnFamilyDescriptorBuilder::of)
        .forEachOrdered(builder::setColumnFamily);
      admin.createTable(builder.build());
    }
    ColumnFamilyDescriptor cfd = admin.getDescriptor(TABLE_NAME).getColumnFamilies()[0];
    if (cfd.isMobEnabled() != useMob) {
      admin.modifyColumnFamily(TABLE_NAME, ColumnFamilyDescriptorBuilder.newBuilder(cfd)
        .setMobEnabled(useMob).setMobThreshold(4).build());
    }
  }
Thread that does full scans of the table looking for any partially completed rows.
hbase-server/src/test/java/org/apache/hadoop/hbase/AcidGuaranteesTestTool.java