@Test
  public void testSimpleRead() throws Exception {
    hiveConf.setVar(HiveConf.ConfVars.HIVE_FETCH_TASK_CONVERSION, "more");
    int[][] tableData = {{1,2},{3,3}};
    runStatementOnDriver("insert into " + Table.ACIDTBL + " " + makeValuesClause(tableData));
    int[][] tableData2 = {{5,3}};
    //this will cause next txn to be marked aborted but the data is still written to disk
    hiveConf.setBoolVar(HiveConf.ConfVars.HIVE_TEST_MODE_ROLLBACK_TXN, true);
    runStatementOnDriver("insert into " + Table.ACIDTBL + " " + makeValuesClause(tableData2));
    assert hiveConf.get(ValidTxnWriteIdList.VALID_TABLES_WRITEIDS_KEY) == null : "previous txn should've cleaned it";
    //so now if HIVE_FETCH_TASK_CONVERSION were to use a stale value, it would use a
    //ValidWriteIdList with HWM=MAX_LONG, i.e. include the data for aborted txn
    List<String> rs = runStatementOnDriver("select * from " + Table.ACIDTBL);
    Assert.assertEquals("Extra data", 2, rs.size());
  }
Test the query correctness and directory layout for ACID table conversion
1. Insert a row to Non-ACID table
2. Convert Non-ACID to ACID table
3. Perform Major compaction
4. Insert a new row to ACID table
5. Perform another Major compaction
6. Clean
@throws Exception
ql/src/test/org/apache/hadoop/hive/ql/TestTxnCommands2.java