Program: 5652
Project: 5652
Buggy source:
@Test public void testTTL() throws Exception {
  int ttl=1;
  String ttlTable="String_Node_Str";
  String noTtlTable="String_Node_Str";
  DatasetProperties props=DatasetProperties.builder().add(Table.PROPERTY_TTL,String.valueOf(ttl)).build();
  getTableAdmin(CONTEXT1,ttlTable,props).create();
  DatasetSpecification ttlTableSpec=DatasetSpecification.builder(ttlTable,HBaseTable.class.getName()).properties(props.getProperties()).build();
  HBaseTable table=new HBaseTable(CONTEXT1,ttlTableSpec,cConf,TEST_HBASE.getConfiguration(),hBaseTableUtil);
  DetachedTxSystemClient txSystemClient=new DetachedTxSystemClient();
  Transaction tx=txSystemClient.startShort();
  table.startTx(tx);
  table.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table.commitTx();
  TimeUnit.MILLISECONDS.sleep(1010);
  tx=txSystemClient.startShort();
  table.startTx(tx);
  table.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table.commitTx();
  tx=txSystemClient.startShort();
  table.startTx(tx);
  byte[] val=table.get(b("String_Node_Str"),b("String_Node_Str"));
  if (val != null) {
    LOG.info("String_Node_Str" + Bytes.toStringBinary(val));
  }
  Assert.assertNull(val);
  Assert.assertArrayEquals(b("String_Node_Str"),table.get(b("String_Node_Str"),b("String_Node_Str")));
  DatasetProperties props2=DatasetProperties.builder().add(Table.PROPERTY_TTL,String.valueOf(Tables.NO_TTL)).build();
  getTableAdmin(CONTEXT1,noTtlTable,props2).create();
  DatasetSpecification noTtlTableSpec=DatasetSpecification.builder(noTtlTable,HBaseTable.class.getName()).properties(props2.getProperties()).build();
  HBaseTable table2=new HBaseTable(CONTEXT1,noTtlTableSpec,cConf,TEST_HBASE.getConfiguration(),hBaseTableUtil);
  tx=txSystemClient.startShort();
  table2.startTx(tx);
  table2.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table2.commitTx();
  TimeUnit.SECONDS.sleep(2);
  tx=txSystemClient.startShort();
  table2.startTx(tx);
  table2.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table2.commitTx();
  tx=txSystemClient.startShort();
  table2.startTx(tx);
  Assert.assertArrayEquals(b("String_Node_Str"),table2.get(b("String_Node_Str"),b("String_Node_Str")));
  Assert.assertArrayEquals(b("String_Node_Str"),table2.get(b("String_Node_Str"),b("String_Node_Str")));
}

Fixed version (ground truth):
@Test public void testTTL() throws Exception {
  int ttl=1;
  String ttlTable="String_Node_Str";
  String noTtlTable="String_Node_Str";
  DatasetProperties props=DatasetProperties.builder().add(Table.PROPERTY_TTL,String.valueOf(ttl)).build();
  getTableAdmin(CONTEXT1,ttlTable,props).create();
  DatasetSpecification ttlTableSpec=DatasetSpecification.builder(ttlTable,HBaseTable.class.getName()).properties(props.getProperties()).build();
  HBaseTable table=new HBaseTable(CONTEXT1,ttlTableSpec,Collections.<String,String>emptyMap(),cConf,TEST_HBASE.getConfiguration(),hBaseTableUtil);
  DetachedTxSystemClient txSystemClient=new DetachedTxSystemClient();
  Transaction tx=txSystemClient.startShort();
  table.startTx(tx);
  table.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table.commitTx();
  TimeUnit.MILLISECONDS.sleep(1010);
  tx=txSystemClient.startShort();
  table.startTx(tx);
  table.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table.commitTx();
  tx=txSystemClient.startShort();
  table.startTx(tx);
  byte[] val=table.get(b("String_Node_Str"),b("String_Node_Str"));
  if (val != null) {
    LOG.info("String_Node_Str" + Bytes.toStringBinary(val));
  }
  Assert.assertNull(val);
  Assert.assertArrayEquals(b("String_Node_Str"),table.get(b("String_Node_Str"),b("String_Node_Str")));
  DatasetProperties props2=DatasetProperties.builder().add(Table.PROPERTY_TTL,String.valueOf(Tables.NO_TTL)).build();
  getTableAdmin(CONTEXT1,noTtlTable,props2).create();
  DatasetSpecification noTtlTableSpec=DatasetSpecification.builder(noTtlTable,HBaseTable.class.getName()).properties(props2.getProperties()).build();
  HBaseTable table2=new HBaseTable(CONTEXT1,noTtlTableSpec,Collections.<String,String>emptyMap(),cConf,TEST_HBASE.getConfiguration(),hBaseTableUtil);
  tx=txSystemClient.startShort();
  table2.startTx(tx);
  table2.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table2.commitTx();
  TimeUnit.SECONDS.sleep(2);
  tx=txSystemClient.startShort();
  table2.startTx(tx);
  table2.put(b("String_Node_Str"),b("String_Node_Str"),b("String_Node_Str"));
  table2.commitTx();
  tx=txSystemClient.startShort();
  table2.startTx(tx);
  Assert.assertArrayEquals(b("String_Node_Str"),table2.get(b("String_Node_Str"),b("String_Node_Str")));
  Assert.assertArrayEquals(b("String_Node_Str"),table2.get(b("String_Node_Str"),b("String_Node_Str")));
}