@Test public void testLimitEqualToColumns() throws Exception {
try {
TransactionManager tm = new TransactionManager(hbaseConf);
TransactionalTable tt = new TransactionalTable(hbaseConf, TEST_TABLE);
TransactionState t1 = tm.beginTransaction();
byte[] row = Bytes.toBytes("test-simple");
byte[] row2 = Bytes.toBytes("test-simple2");
byte[] row3 = Bytes.toBytes("test-simple3");
byte[] row4 = Bytes.toBytes("test-simple4");
byte[] fam = Bytes.toBytes(TEST_FAMILY);
byte[] col = Bytes.toBytes("testdata");
byte[] col1 = Bytes.add(col, Bytes.toBytes(1));
byte[] col11 = Bytes.add(col, Bytes.toBytes(11));
byte[] data = Bytes.toBytes("testWrite-1");
byte[] data2 = Bytes.toBytes("testWrite-2verylargedatamuchmoredata than anything ever written to");
Put p = new Put(row);
for (int i = 0; i < 10; ++i) {
p.add(fam, Bytes.add(col, Bytes.toBytes(i)), data);
}
tt.put(t1, p);
tm.tryCommit(t1);
TransactionState t2 = tm.beginTransaction();
p = new Put(row2);
for (int i = 0; i < 10; ++i) {
p.add(fam, Bytes.add(col, Bytes.toBytes(i)), data);
}
tt.put(t2, p);
tm.tryCommit(t2);
// fill with data
for (int i = 0; i < 500; ++i) {
t2 = tm.beginTransaction();
p = new Put(row4);
p.add(fam, col11, data2);
tt.put(t2, p);
tm.tryCommit(t2);
}
HBaseAdmin admin = new HBaseAdmin(hbaseConf);
admin.flush(TEST_TABLE);
TransactionState t3 = tm.beginTransaction();
p = new Put(row3);
for (int i = 0; i < 10; ++i) {
p.add(fam, Bytes.add(col, Bytes.toBytes(i)), data);
}
tt.put(t3, p);