Program: 5810
Project: 5810
Buggy source:
@Test public void testNonTransactionalMixed() throws Exception {
  TableId tableId=TableId.from(Id.Namespace.DEFAULT.getId(),"String_Node_Str");
  byte[] row1=Bytes.toBytes("String_Node_Str");
  byte[] col=Bytes.toBytes("String_Node_Str");
  try (HTable table=createTable(tableId)){
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
    table.put(tableUtil.buildPut(row1).add(FAMILY,col,Bytes.toBytes(11L)).build());
    assertColumn(table,row1,col,11);
    Delete delete=tableUtil.buildDelete(row1).deleteColumns(FAMILY,col).build();
    table.batch(Lists.newArrayList(delete));
    Get get=tableUtil.buildGet(row1).build();
    Result result=table.get(get);
    LOG.info("String_Node_Str" + result);
    assertTrue(result.isEmpty());
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
    delete=tableUtil.buildDelete(row1).deleteFamily(FAMILY).build();
    table.batch(Lists.newArrayList(delete));
    get=tableUtil.buildGet(row1).build();
    result=table.get(get);
    LOG.info("String_Node_Str" + result);
    assertTrue(result.isEmpty());
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
    delete=tableUtil.buildDelete(row1).build();
    table.batch(Lists.newArrayList(delete));
    get=tableUtil.buildGet(row1).build();
    result=table.get(get);
    LOG.info("String_Node_Str" + result);
    assertTrue(result.isEmpty());
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
  }
 }

Fixed version (ground truth):
@Test public void testNonTransactionalMixed() throws Exception {
  TableId tableId=TableId.from(Id.Namespace.DEFAULT.getId(),"String_Node_Str");
  byte[] row1=Bytes.toBytes("String_Node_Str");
  byte[] col=Bytes.toBytes("String_Node_Str");
  try (HTable table=createTable(tableId)){
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
    table.put(tableUtil.buildPut(row1).add(FAMILY,col,Bytes.toBytes(11L)).build());
    assertColumn(table,row1,col,11);
    Delete delete=tableUtil.buildDelete(row1).deleteColumns(FAMILY,col).build();
    table.delete(delete);
    Get get=tableUtil.buildGet(row1).build();
    Result result=table.get(get);
    LOG.info("String_Node_Str" + result);
    assertTrue(result.isEmpty());
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
    delete=tableUtil.buildDelete(row1).deleteFamily(FAMILY).build();
    table.batch(Lists.newArrayList(delete));
    get=tableUtil.buildGet(row1).build();
    result=table.get(get);
    LOG.info("String_Node_Str" + result);
    assertTrue(result.isEmpty());
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
    delete=tableUtil.buildDelete(row1).build();
    table.delete(delete);
    get=tableUtil.buildGet(row1).build();
    result=table.get(get);
    LOG.info("String_Node_Str" + result);
    assertTrue(result.isEmpty());
    for (int i=0; i < 100; i++) {
      table.put(newIncrement(row1,col,1));
    }
    assertColumn(table,row1,col,100);
  }
 }