static Iterable<TabletMetadata> convert(Scanner input, EnumSet<FetchedColumns> fetchedColumns, boolean checkConsistency, boolean buildKeyValueMap) { Range range = input.getRange(); Function<Range,Iterator<TabletMetadata>> iterFactory = r -> { synchronized (input) { input.setRange(r); RowIterator rowIter = new RowIterator(input); return Iterators.transform(rowIter, ri -> convertRow(ri, fetchedColumns, buildKeyValueMap)); } }; if (checkConsistency) { return () -> new LinkingIterator(iterFactory, range); } else { return () -> iterFactory.apply(range); } }
public IsolatedScanner(Scanner scanner, RowBufferFactory bufferFactory) { this.scanner = scanner; this.range = scanner.getRange(); this.timeOut = scanner.getTimeout(TimeUnit.MILLISECONDS); this.batchTimeOut = scanner.getBatchTimeout(TimeUnit.MILLISECONDS); this.batchSize = scanner.getBatchSize(); this.readaheadThreshold = scanner.getReadaheadThreshold(); this.bufferFactory = bufferFactory; }
/** * Constructs a scanner that can execute client-side iterators. * * @param scanner * the source scanner */ public ClientSideIteratorScanner(final Scanner scanner) { smi = new ScannerTranslatorImpl(scanner, scanner.getSamplerConfiguration()); this.range = scanner.getRange(); this.size = scanner.getBatchSize(); this.timeOut = scanner.getTimeout(TimeUnit.MILLISECONDS); this.batchTimeOut = scanner.getTimeout(TimeUnit.MILLISECONDS); this.readaheadThreshold = scanner.getReadaheadThreshold(); SamplerConfiguration samplerConfig = scanner.getSamplerConfiguration(); if (samplerConfig != null) setSamplerConfiguration(samplerConfig); }
public void logStartIterator(String table, ScannerBase scanner) { if (!queryLogger.isTraceEnabled()) { return; } SortedSet<Column> fetchedColumns = null; if (scanner instanceof ScannerOptions) { fetchedColumns = ((ScannerOptions) scanner).getFetchedColumns(); } if (scanner instanceof BatchScanner) { try { Field rangesField = scanner.getClass().getDeclaredField("ranges"); rangesField.setAccessible(true); ArrayList<Range> ranges = (ArrayList<Range>) rangesField.get(scanner); if (ranges.size() == 0) { logStartIterator(table, (Range) null, fetchedColumns); } else if (ranges.size() == 1) { logStartIterator(table, ranges.iterator().next(), fetchedColumns); } else { logStartIterator(table, ranges, fetchedColumns); } } catch (Exception e) { queryLogger.trace("Could not get ranges from BatchScanner", e); } } else if (scanner instanceof Scanner) { Range range = ((Scanner) scanner).getRange(); logStartIterator(table, range, fetchedColumns); } else { queryLogger.trace("begin accumulo iterator: %s", scanner.getClass().getName()); } }
public void logStartIterator(String table, ScannerBase scanner) { if (!queryLogger.isTraceEnabled()) { return; } SortedSet<Column> fetchedColumns = null; if (scanner instanceof ScannerOptions) { fetchedColumns = ((ScannerOptions) scanner).getFetchedColumns(); } if (scanner instanceof BatchScanner) { try { Field rangesField = scanner.getClass().getDeclaredField("ranges"); rangesField.setAccessible(true); ArrayList<Range> ranges = (ArrayList<Range>) rangesField.get(scanner); if (ranges.size() == 0) { logStartIterator(table, (Range) null, fetchedColumns); } else if (ranges.size() == 1) { logStartIterator(table, ranges.iterator().next(), fetchedColumns); } else { logStartIterator(table, ranges, fetchedColumns); } } catch (Exception e) { queryLogger.trace("Could not get ranges from BatchScanner", e); } } else if (scanner instanceof Scanner) { Range range = ((Scanner) scanner).getRange(); logStartIterator(table, range, fetchedColumns); } else { queryLogger.trace("begin accumulo iterator: %s", scanner.getClass().getName()); } }
public IsolatedScanner(Scanner scanner, RowBufferFactory bufferFactory) { this.scanner = scanner; this.range = scanner.getRange(); this.timeOut = scanner.getTimeout(TimeUnit.MILLISECONDS); this.batchTimeOut = scanner.getBatchTimeout(TimeUnit.MILLISECONDS); this.batchSize = scanner.getBatchSize(); this.readaheadThreshold = scanner.getReadaheadThreshold(); this.bufferFactory = bufferFactory; }
/** * Constructs a scanner that can execute client-side iterators. * * @param scanner * the source scanner */ public ClientSideIteratorScanner(final Scanner scanner) { smi = new ScannerTranslatorImpl(scanner, scanner.getSamplerConfiguration()); this.range = scanner.getRange(); this.size = scanner.getBatchSize(); this.timeOut = scanner.getTimeout(TimeUnit.MILLISECONDS); this.batchTimeOut = scanner.getTimeout(TimeUnit.MILLISECONDS); this.readaheadThreshold = scanner.getReadaheadThreshold(); SamplerConfiguration samplerConfig = scanner.getSamplerConfiguration(); if (samplerConfig != null) setSamplerConfiguration(samplerConfig); }