private Iterator<Entry<Key,Value>> getIter2() { if (iter2 == null) { try { if ((table == null || !isMeta(table)) && iter1Count == 0) { Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); scanner.setTimeout(3, TimeUnit.SECONDS); if (table == null) { scanner.setRange(new Range(new Text("~err_"), false, new Text("~err`"), false)); } else { scanner.setRange(new Range(new Text("~err_" + table))); } iter2 = scanner.iterator(); } else { Map<Key,Value> m = Collections.emptyMap(); iter2 = m.entrySet().iterator(); } } catch (Exception e) { throw new RuntimeException(e); } } return iter2; }
protected int removeReplicationEntries(Map<UUID,TServerInstance> candidates) { try { try { final Scanner s = ReplicationTable.getScanner(context); StatusSection.limit(s); for (Entry<Key,Value> entry : s) { UUID id = path2uuid(new Path(entry.getKey().getRow().toString())); candidates.remove(id); log.info("Ignore closed log " + id + " because it is being replicated"); } } catch (ReplicationTableOfflineException ex) { return candidates.size(); } final Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); scanner.fetchColumnFamily(MetadataSchema.ReplicationSection.COLF); scanner.setRange(MetadataSchema.ReplicationSection.getRange()); for (Entry<Key,Value> entry : scanner) { Text file = new Text(); MetadataSchema.ReplicationSection.getFile(entry.getKey(), file); UUID id = path2uuid(new Path(file.toString())); candidates.remove(id); log.info("Ignore closed log " + id + " because it is being replicated"); } return candidates.size(); } catch (TableNotFoundException e) { log.error("Failed to scan metadata table", e); throw new IllegalArgumentException(e); } }
Scanner metadata = context.createScanner(tableName, Authorizations.EMPTY); metadata.setRange(range); metadata.fetchColumnFamily(DataFileColumnFamily.NAME);
Scanner metaScanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); metaScanner.fetchColumnFamily(DataFileColumnFamily.NAME); TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN.fetch(metaScanner);
LogEntryIterator(ServerContext context) throws IOException, KeeperException, InterruptedException { zookeeperEntries = getLogEntries(context, RootTable.EXTENT).iterator(); rootTableEntries = getLogEntries(context, new KeyExtent(MetadataTable.ID, null, null)) .iterator(); try { Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); log.info("Setting range to {}", MetadataSchema.TabletsSection.getRange()); scanner.setRange(MetadataSchema.TabletsSection.getRange()); scanner.fetchColumnFamily(LogColumnFamily.NAME); metadataEntries = scanner.iterator(); } catch (Exception ex) { throw new IOException(ex); } }
if (extent.isMeta()) table = RootTable.NAME; Scanner scanner = this.master.getContext().createScanner(table, Authorizations.EMPTY); scanner.fetchColumnFamily(CurrentLocationColumnFamily.NAME); scanner.fetchColumnFamily(FutureLocationColumnFamily.NAME);
public void deleteProblemReports(Table.ID table) throws Exception { if (isMeta(table)) { Iterator<ProblemReport> pri = iterator(table); while (pri.hasNext()) { pri.next().removeFromZooKeeper(context); } return; } Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); scanner.addScanIterator(new IteratorSetting(1, "keys-only", SortedKeyIterator.class)); scanner.setRange(new Range(new Text("~err_" + table))); Mutation delMut = new Mutation(new Text("~err_" + table)); boolean hasProblems = false; for (Entry<Key,Value> entry : scanner) { hasProblems = true; delMut.putDelete(entry.getKey().getColumnFamily(), entry.getKey().getColumnQualifier()); } if (hasProblems) MetadataTableUtil.getMetadataTable(context).update(delMut); }
Scanner scanner = context.createScanner(name, Authorizations.EMPTY);
@Override public long isReady(long tid, Master master) throws Exception { if (!master.hasCycled(creationTime)) { return 50; } boolean done = true; Range tableRange = new KeyExtent(tableId, null, null).toMetadataRange(); Scanner scanner = master.getContext().createScanner(MetadataTable.NAME, Authorizations.EMPTY); MetaDataTableScanner.configureScanner(scanner, master); scanner.setRange(tableRange); for (Entry<Key,Value> entry : scanner) { TabletLocationState locationState = MetaDataTableScanner .createTabletLocationState(entry.getKey(), entry.getValue()); TabletState state = locationState.getState(master.onlineTabletServers()); if (!state.equals(TabletState.UNASSIGNED)) { // This code will even wait on tablets that are assigned to dead tablets servers. This is // intentional because the master may make metadata writes for these tablets. See #587 log.debug("Still waiting for table to be deleted: " + tableId + " locationState: " + locationState); done = false; break; } } if (!done) return 50; return 0; }
Scanner scanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); DIRECTORY_COLUMN.fetch(scanner); scanner.setRange(TabletsSection.getRange(tableId));
Scanner mscanner = context.createScanner(MetadataTable.NAME, Authorizations.EMPTY); mscanner.setRange(new KeyExtent(tableId, null, null).toMetadataRange()); mscanner.fetchColumnFamily(ClonedColumnFamily.NAME);