public static Text decodePrevEndRow(Value ibw) { return org.apache.accumulo.core.data.impl.KeyExtent.decodePrevEndRow(ibw); }
public KeyExtent(Text flattenedExtent, Value prevEndRow) { decodeMetadataRow(flattenedExtent); // decode the prev row this.setPrevEndRow(decodePrevEndRow(prevEndRow), false, true); check(); }
initCompactID = Long.parseLong(compactID.toString()); Text metadataPrevEndRow = KeyExtent.decodePrevEndRow(prevEndRowIBW);
Text per = KeyExtent.decodePrevEndRow(prevEndRowValue); Text lastEndRow;
if (!scanner2.iterator().hasNext()) { log.info("Rolling back incomplete split " + metadataEntry + " " + metadataPrevEndRow); MetadataTableUtil.rollBackSplit(metadataEntry, KeyExtent.decodePrevEndRow(oper), context, lock); return new KeyExtent(metadataEntry, KeyExtent.decodePrevEndRow(oper)); } else { log.info("Finishing incomplete split " + metadataEntry + " " + metadataPrevEndRow);
private KeyExtent getHighTablet(KeyExtent range) throws AccumuloException { try { Connector conn = this.master.getConnector(); Scanner scanner = conn.createScanner(range.isMeta() ? RootTable.NAME : MetadataTable.NAME, Authorizations.EMPTY); TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN.fetch(scanner); KeyExtent start = new KeyExtent(range.getTableId(), range.getEndRow(), null); scanner.setRange(new Range(start.getMetadataEntry(), null)); Iterator<Entry<Key,Value>> iterator = scanner.iterator(); if (!iterator.hasNext()) { throw new AccumuloException("No last tablet for a merge " + range); } Entry<Key,Value> entry = iterator.next(); KeyExtent highTablet = new KeyExtent(entry.getKey().getRow(), KeyExtent.decodePrevEndRow(entry.getValue())); if (!highTablet.getTableId().equals(range.getTableId())) { throw new AccumuloException("No last tablet for merge " + range + " " + highTablet); } return highTablet; } catch (Exception ex) { throw new AccumuloException("Unexpected failure finding the last tablet for a merge " + range, ex); } }
KeyExtent ke = new KeyExtent(new Text(mutation.getRow()), (Text) null); Text per = KeyExtent.decodePrevEndRow(new Value(columnUpdate.getValue()));
stop.setPrevEndRow(KeyExtent.decodePrevEndRow(firstPrevRowValue)); Mutation updatePrevRow = stop.getPrevRowUpdateMutation(); Master.log.debug("Setting the prevRow for last tablet: " + stop);