s.setRaw(raw);
scan.setRaw(true);
/** * Tries to scan a row from passed region */ private void isSuccessfulScan(RegionInfo region) throws IOException { Scan scan = new Scan().withStartRow(region.getStartKey()).setRaw(true).setOneRowLimit() .setMaxResultSize(1L).setCaching(1).setFilter(new FirstKeyOnlyFilter()) .setCacheBlocks(false); try (Table table = conn.getTable(region.getTable()); ResultScanner scanner = table.getScanner(scan)) { scanner.next(); } catch (IOException e) { LOG.error("Could not scan region:" + region.getEncodedName(), e); throw e; } }
scan = new Scan(); scan.setCacheBlocks(false); scan.setRaw(true);
private int countDeleteMarkers(HRegion region) throws IOException { Scan s = new Scan(); s.setRaw(true); // use max versions from the store(s) s.setMaxVersions(region.getStores().iterator().next().getScanInfo().getMaxVersions()); InternalScanner scan = region.getScanner(s); List<Cell> kvs = new ArrayList<>(); int res = 0; boolean hasMore; do { hasMore = scan.next(kvs); for (Cell kv : kvs) { if(CellUtil.isDelete(kv)) res++; } kvs.clear(); } while (hasMore); scan.close(); return res; }
@Test public void testScanRawDeleteFamilyVersion() throws Exception { TableName tableName = TableName.valueOf(name.getMethodName()); TEST_UTIL.createTable(tableName, FAMILY); Configuration conf = new Configuration(TEST_UTIL.getConfiguration()); conf.set(RPC_CODEC_CONF_KEY, ""); conf.set(DEFAULT_CODEC_CLASS, ""); try (Connection connection = ConnectionFactory.createConnection(conf); Table table = connection.getTable(tableName)) { Delete delete = new Delete(ROW); delete.addFamilyVersion(FAMILY, 0L); table.delete(delete); Scan scan = new Scan(ROW).setRaw(true); ResultScanner scanner = table.getScanner(scan); int count = 0; while (scanner.next() != null) { count++; } assertEquals(1, count); } finally { TEST_UTIL.deleteTable(tableName); } }
@Test public void testReadExpiredDataForRawScan() throws IOException { TableName tableName = TableName.valueOf(name.getMethodName()); long ts = System.currentTimeMillis() - 10000; byte[] value = Bytes.toBytes("expired"); try (Table table = TEST_UTIL.createTable(tableName, FAMILY)) { table.put(new Put(ROW).addColumn(FAMILY, QUALIFIER, ts, value)); assertArrayEquals(value, table.get(new Get(ROW)).getValue(FAMILY, QUALIFIER)); TEST_UTIL.getAdmin().modifyColumnFamily(tableName, new HColumnDescriptor(FAMILY).setTimeToLive(5)); try (ResultScanner scanner = table.getScanner(FAMILY)) { assertNull(scanner.next()); } try (ResultScanner scanner = table.getScanner(new Scan().setRaw(true))) { assertArrayEquals(value, scanner.next().getValue(FAMILY, QUALIFIER)); assertNull(scanner.next()); } } }
s = r.getScanner(new Scan().setRaw(true)); int counter = 0; do {
/** * The ExplicitColumnTracker does not support "raw" scanning. */ @Test public void testRawScanWithColumns() throws Exception { HTableDescriptor htd = hbu.createTableDescriptor(name.getMethodName(), 0, 3, HConstants.FOREVER, KeepDeletedCells.TRUE); Region region = hbu.createLocalHRegion(htd, null, null); Scan s = new Scan(); s.setRaw(true); s.setMaxVersions(); s.addColumn(c0, c0); try { region.getScanner(s); fail("raw scanner with columns should have failed"); } catch (org.apache.hadoop.hbase.DoNotRetryIOException dnre) { // ok! } HBaseTestingUtility.closeRegionAndWAL(region); }
scan = new Scan(); LOG.debug("rawScan {} for {}", rawScanEnabled, tableDesc.getTableName()); scan.setRaw(rawScanEnabled); scan.setCaching(1); scan.setCacheBlocks(false);
s.setRaw(true); s.setMaxVersions(); scanner = h.getScanner(s);
@Test public void testRawScanAndMajorCompaction() throws IOException { try (Table t = createTable()) { t.put(new Put(ROW).addColumn(FAMILY, col1, 1000001, value)); t.put(new Put(ROW).addColumn(FAMILY, col1, 1000002, value)); t.put(new Put(ROW).addColumn(FAMILY, col1, 1000003, value)); t.put(new Put(ROW).addColumn(FAMILY, col1, 1000004, value)); t.delete(new Delete(ROW).addColumn(FAMILY, col1, 1000004)); t.delete(new Delete(ROW).addColumn(FAMILY, col1, 1000003)); try (ResultScanner scannner = t.getScanner(new Scan().setRaw(true).setMaxVersions())) { Result r = scannner.next(); assertNull(scannner.next()); assertEquals(6, r.size()); } TEST_UTIL.getAdmin().flush(t.getName()); try (ResultScanner scannner = t.getScanner(new Scan().setRaw(true).setMaxVersions())) { Result r = scannner.next(); assertNull(scannner.next()); assertEquals(6, r.size()); } TEST_UTIL.getAdmin().majorCompact(t.getName()); Threads.sleep(5000); try (ResultScanner scannner = t.getScanner(new Scan().setRaw(true).setMaxVersions())) { Result r = scannner.next(); assertNull(scannner.next()); assertEquals(1, r.size()); assertEquals(1000002, r.rawCells()[0].getTimestamp()); } } }
s.setRaw(true);
s.setRaw(true);
scan.setRaw(true); try (ResultScanner scanner = table.getScanner(scan)) { Result result = scanner.next();
scan.setRaw(true); InternalScanner scanner = region.getScanner(scan); List<Cell> results = new ArrayList<>();
s.setRaw(true); ResultScanner scanner = t.getScanner(s); Result r = scanner.next();
.setNeedCursorResult(true) .setPriority(1) .setRaw(true) .setReplicaId(3) .setReversed(true)