public Text getTableId() { return new Text(wrapped.getTableId()); }
public void clearMigrations(String tableId) { synchronized (migrations) { Iterator<KeyExtent> iterator = migrations.keySet().iterator(); while (iterator.hasNext()) { KeyExtent extent = iterator.next(); if (extent.getTableId().equals(tableId)) { iterator.remove(); } } } }
@Override public TableConfiguration getTableConfiguration(KeyExtent extent) { return getTableConfiguration(extent.getTableId()); }
private boolean isTableDeleting() { try { return Tables.getTableState(tabletServer.getInstance(), extent.getTableId()) == TableState.DELETING; } catch (Exception e) { log.warn("Failed to determine if table " + extent.getTableId() + " was deleting ", e); return false; // can not get positive confirmation that its deleting. } }
protected long getMinCIdleThreshold(KeyExtent extent) { String tableId = extent.getTableId(); if (!mincIdleThresholds.containsKey(tableId)) mincIdleThresholds.put(tableId, config.getTableConfiguration(tableId) .getTimeInMillis(Property.TABLE_MINC_COMPACT_IDLETIME)); return mincIdleThresholds.get(tableId); }
private void cancelOfflineTableMigrations(TabletLocationState tls) { TServerInstance dest = this.master.migrations.get(tls.extent); TableState tableState = TableManager.getInstance().getTableState(tls.extent.getTableId()); if (dest != null && tableState == TableState.OFFLINE) { this.master.migrations.remove(tls.extent); } }
public static byte[] tableOfMetadataRow(Text row) { KeyExtent ke = new KeyExtent(); ke.decodeMetadataRow(row); return ke.getTableId().getBytes(UTF_8); }
private static Mutation createUpdateMutation(Text row, Value v, KeyExtent extent) { Mutation m = new Mutation(row); m.put(MetadataSchema.ReplicationSection.COLF, new Text(extent.getTableId()), v); return m; } }
@Override @Deprecated public org.apache.accumulo.core.data.KeyExtent getExtent() { return new org.apache.accumulo.core.data.KeyExtent(new Text(extent.getTableId()), extent.getEndRow(), extent.getPrevEndRow()); }
synchronized void add(String location, TabletServerMutations<Mutation> tsm) { init(); for (Entry<KeyExtent,List<Mutation>> entry : tsm.getMutations().entrySet()) { recentFailures.addAll(entry.getKey().getTableId(), entry.getValue()); } }
/** * Returns a String representing this extent's entry in the Metadata table * */ public Text getMetadataEntry() { return getMetadataEntry(getTableId(), getEndRow()); }
public boolean isPreviousExtent(KeyExtent prevExtent) { if (prevExtent == null) return getPrevEndRow() == null; if (!prevExtent.getTableId().equals(getTableId())) throw new IllegalArgumentException( "Cannot compare accross tables " + prevExtent + " " + this); if (prevExtent.getEndRow() == null) return false; if (getPrevEndRow() == null) return false; return prevExtent.getEndRow().equals(getPrevEndRow()); }
public boolean needsToBeChopped(KeyExtent otherExtent) { // During a delete, the block after the merge will be stretched to cover the deleted area. // Therefore, it needs to be chopped if (!otherExtent.getTableId().equals(extent.getTableId())) return false; if (isDelete()) return otherExtent.getPrevEndRow() != null && otherExtent.getPrevEndRow().equals(extent.getEndRow()); else return this.extent.overlaps(otherExtent); }
long getCompactionCancelID() { String zTablePath = Constants.ZROOT + "/" + tabletServer.getInstance().getInstanceID() + Constants.ZTABLES + "/" + extent.getTableId() + Constants.ZTABLE_COMPACT_CANCEL_ID; try { return Long .parseLong(new String(ZooReaderWriter.getInstance().getData(zTablePath, null), UTF_8)); } catch (KeeperException e) { throw new RuntimeException(e); } catch (InterruptedException e) { throw new RuntimeException(e); } }
private static boolean startsAfter(KeyExtent nke, KeyExtent ke) { int tiCmp = ke.getTableId().compareTo(nke.getTableId()); if (tiCmp > 0) { return true; } return ke.getPrevEndRow() != null && nke.getEndRow() != null && ke.getPrevEndRow().compareTo(nke.getEndRow()) >= 0; }
public static void addDeleteEntries(KeyExtent extent, Set<FileRef> datafilesToDelete, ClientContext context) throws IOException { String tableId = extent.getTableId(); // TODO could use batch writer,would need to handle failure and retry like update does - // ACCUMULO-1294 for (FileRef pathToRemove : datafilesToDelete) { update(context, createDeleteMutation(tableId, pathToRemove.path().toString()), extent); } }
@Override @Deprecated public org.apache.accumulo.core.data.KeyExtent getExtent() { KeyExtent ke = new KeyExtent(tac.getExtent()); org.apache.accumulo.core.data.KeyExtent oke = new org.apache.accumulo.core.data.KeyExtent( new Text(ke.getTableId()), ke.getEndRow(), ke.getPrevEndRow()); return oke; }
@Override public String getTable() throws TableNotFoundException { return Tables.getTableName(instance, new KeyExtent(tac.getExtent()).getTableId()); }
public Range toMetadataRange() { Text metadataPrevRow = new Text(getTableId()); metadataPrevRow.append(new byte[] {';'}, 0, 1); if (getPrevEndRow() != null) { metadataPrevRow.append(getPrevEndRow().getBytes(), 0, getPrevEndRow().getLength()); } Range range = new Range(metadataPrevRow, getPrevEndRow() == null, getMetadataEntry(), true); return range; }
private void check() { if (getTableId() == null) throw new IllegalArgumentException("null table id not allowed"); if (getEndRow() == null || getPrevEndRow() == null) return; if (getPrevEndRow().compareTo(getEndRow()) >= 0) { throw new IllegalArgumentException( "prevEndRow (" + getPrevEndRow() + ") >= endRow (" + getEndRow() + ")"); } }