MCPcopy Create free account
hub / github.com/OpenTSDB/asynchbase / reverseScanMoreThanMaxBytes

Method reverseScanMoreThanMaxBytes

test/TestIntegration.java:2099–2133  ·  view source on GitHub ↗

Shows reversed scanner also returns full rows even though max_bytes may be set.

()

Source from the content-addressed store, hash-verified

2097
2098 /** Shows reversed scanner also returns full rows even though max_bytes may be set. */
2099 @Test
2100 public void reverseScanMoreThanMaxBytes() throws Exception {
2101 client.setFlushInterval(FAST_FLUSH);
2102 String long_val = "long_str"; // 8 bytes + 1 digit gets added on input
2103 final PutRequest put1 = new PutRequest(table, "rsmb1", family, "q0", long_val+"0");
2104 client.put(put1).join();
2105 final PutRequest put2 = new PutRequest(table, "rsmb1", family, "q1", long_val+"1");
2106 client.put(put2).join();
2107 final PutRequest put3 = new PutRequest(table, "rsmb1", family, "q2", long_val+"2");
2108 client.put(put3).join();
2109 final PutRequest put4 = new PutRequest(table, "rsmb2", family, "q3", long_val+"3");
2110 client.put(put4).join();
2111 final PutRequest put5 = new PutRequest(table, "rsmb2", family, "q4", long_val+"4");
2112 client.put(put5).join();
2113
2114 Scanner scanner = client.newScanner(table);
2115 scanner.setReversed(true);
2116 scanner.setMaxNumBytes(250); // 250 bytes limit
2117 scanner.setStartKey("rsmb2");
2118 scanner.setStopKey("rsmb0");
2119
2120 // KeyValue size: key is 5 bytes + family: 1 + qualifier: 2 + value:9 + timestamp: 8 = 25 bytes
2121 // JVM adds around 40 bytes for each object so total is around 65 bytes
2122 ArrayList<ArrayList<KeyValue>> rows = scanner.nextRows().join();
2123 scanner.close().join();
2124 assertSizeIs(2, rows);
2125 // Even though 5 KVs is more than 250 bytes, we verify that HBase does not
2126 // truncate rows in the middle
2127 assertEq(long_val+"3", rows.get(0).get(0).value());
2128 assertEq(long_val+"4", rows.get(0).get(1).value());
2129 assertEq(long_val+"0", rows.get(1).get(0).value());
2130 assertEq(long_val+"1", rows.get(1).get(1).value());
2131 assertEq(long_val+"2", rows.get(1).get(2).value());
2132
2133 }
2134
2135 /**
2136 * Set a max number of key values to be returned and verify that a reversed scanner

Callers

nothing calls this directly

Calls 13

setReversedMethod · 0.95
setMaxNumBytesMethod · 0.95
setStartKeyMethod · 0.95
setStopKeyMethod · 0.95
nextRowsMethod · 0.95
closeMethod · 0.95
assertSizeIsMethod · 0.95
assertEqMethod · 0.95
setFlushIntervalMethod · 0.80
putMethod · 0.80
newScannerMethod · 0.80
valueMethod · 0.65

Tested by

no test coverage detected