Program: 29943
Project: 29943
Buggy source:
@Test public void testGetFamily() throws IOException {
  commitTestTransaction();
  Get get=new Get(ROW);
  Result iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertFalse(ThemisCpUtil.isLockResult(iResult));
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_FAMILY,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
  commitOneColumn(COLUMN_WITH_ANOTHER_QUALIFIER,Type.Put,prewriteTs + 10,commitTs + 10);
  get=new Get(ROW);
  get.addFamily(FAMILY);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
  get=new Get(ROW);
  get.addFamily(FAMILY);
  get.addColumn(ANOTHER_FAMILY,QUALIFIER);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(3,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_FAMILY,iResult.list().get(0));
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(1));
  checkResultKvColumn(COLUMN,iResult.list().get(2));
  writeLockAndData(COLUMN_WITH_ANOTHER_FAMILY,prewriteTs + 20);
  get=new Get(ROW);
  get.addFamily(FAMILY);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
  get=new Get(ROW);
  get.addFamily(FAMILY);
  get.addColumn(ANOTHER_FAMILY,QUALIFIER);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  checkGetOneColumnConflictResult(COLUMN_WITH_ANOTHER_FAMILY,iResult,prewriteTs + 20);
}

Fixed version (ground truth):
@Test public void testGetFamily() throws IOException {
  commitTestTransaction();
  Get get=new Get(ROW);
  Result iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertFalse(ThemisCpUtil.isLockResult(iResult));
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_FAMILY,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
  commitOneColumn(COLUMN_WITH_ANOTHER_QUALIFIER,Type.Put,prewriteTs + 10,commitTs + 10);
  get=new Get(ROW);
  get.addFamily(FAMILY);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
  get=new Get(ROW);
  get.addFamily(FAMILY);
  get.addColumn(ANOTHER_FAMILY,QUALIFIER);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(3,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_FAMILY,iResult.list().get(0));
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(1));
  checkResultKvColumn(COLUMN,iResult.list().get(2));
  writeLockAndData(COLUMN_WITH_ANOTHER_FAMILY,prewriteTs + 20);
  get=new Get(ROW);
  get.addFamily(FAMILY);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
  get=new Get(ROW);
  get.addFamily(FAMILY);
  get.addColumn(ANOTHER_FAMILY,QUALIFIER);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  checkGetOneColumnConflictResult(COLUMN_WITH_ANOTHER_FAMILY,iResult,prewriteTs + 20);
  get=new Get(ROW);
  get.addFamily(FAMILY);
  get.addColumn(ANOTHER_FAMILY,ANOTHER_QUALIFIER);
  iResult=cpClient.themisGet(TABLENAME,get,prewriteTs + 50);
  Assert.assertEquals(2,iResult.size());
  checkResultKvColumn(COLUMN_WITH_ANOTHER_QUALIFIER,iResult.list().get(0));
  checkResultKvColumn(COLUMN,iResult.list().get(1));
}