@Before
  public void setUp() throws Exception {
    MemoryCompactionPolicy policy = getMemoryCompactionPolicy();
    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(TABLE_NAME)
      .setValue(CompactingMemStore.COMPACTING_MEMSTORE_TYPE_KEY, policy.name());
    if (policy == MemoryCompactionPolicy.EAGER) {
      builder.setValue(MemStoreLAB.USEMSLAB_KEY, "false");
      builder.setValue(CompactingMemStore.IN_MEMORY_FLUSH_THRESHOLD_FACTOR_KEY, "0.9");
    }
    Stream.of(FAMILIES).map(ColumnFamilyDescriptorBuilder::of)
      .forEachOrdered(builder::setColumnFamily);
    UTIL.getAdmin().createTable(builder.build());
    tool.setConf(UTIL.getConfiguration());
  }
Test case that uses multiple threads to read and write multifamily rows into a table, verifying
that reads never see partially-complete writes. This can run as a junit test, or with a main()
function which runs against a real cluster (eg for testing with failures, region movement, etc)
hbase-server/src/test/java/org/apache/hadoop/hbase/AcidGuaranteesTestBase.java