for (ColumnUpdate columnUpdate : mutation.getUpdates()) {
@Override public List<Short> check(Environment env, Mutation mutation) { List<ColumnUpdate> updates = mutation.getUpdates(); for (ColumnUpdate update : updates) { if (update.isDeleted()) { return Collections.singletonList((short) 1); } } return null; }
@Override public void receive(Mutation m) { // LogReader.printMutation(m); Collection<ColumnUpdate> muts = m.getUpdates(); for (ColumnUpdate columnUpdate : muts) { if (!columnUpdate.hasTimestamp()) { // if it is not a user set timestamp, it must have been set // by the system maxTime.set(Math.max(maxTime.get(), columnUpdate.getTimestamp())); } } getTabletMemory().mutate(commitSession, Collections.singletonList(m), 1); entriesUsedOnTablet.incrementAndGet(); } });
private int printMutation(Text table, Mutation m) { if (log.isTraceEnabled()) { log.trace(String.format("Table %s row key: %s", table, hexDump(m.getRow()))); for (ColumnUpdate cu : m.getUpdates()) { log.trace(String.format("Table %s column: %s:%s", table, hexDump(cu.getColumnFamily()), hexDump(cu.getColumnQualifier()))); log.trace(String.format("Table %s security: %s", table, new ColumnVisibility(cu.getColumnVisibility()).toString())); log.trace(String.format("Table %s value: %s", table, hexDump(cu.getValue()))); } } return m.getUpdates().size(); }
private int printMutation(Text table, Mutation m) { if (log.isTraceEnabled()) { log.trace(String.format("Table %s row key: %s", table, hexDump(m.getRow()))); for (ColumnUpdate cu : m.getUpdates()) { log.trace(String.format("Table %s column: %s:%s", table, hexDump(cu.getColumnFamily()), hexDump(cu.getColumnQualifier()))); log.trace(String.format("Table %s security: %s", table, new ColumnVisibility(cu.getColumnVisibility()).toString())); log.trace(String.format("Table %s value: %s", table, hexDump(cu.getValue()))); } } return m.getUpdates().size(); }
public static String format(LogFileValue lfv, int maxMutations) { if (lfv.mutations.size() == 0) return ""; StringBuilder builder = new StringBuilder(); builder.append(lfv.mutations.size() + " mutations:\n"); int i = 0; for (Mutation m : lfv.mutations) { if (i++ >= maxMutations) { builder.append("..."); break; } builder.append(" ").append(new String(m.getRow(), UTF_8)).append("\n"); for (ColumnUpdate update : m.getUpdates()) { String value = new String(update.getValue()); builder.append(" ").append(new String(update.getColumnFamily(), UTF_8)).append(":") .append(new String(update.getColumnQualifier(), UTF_8)).append(" ") .append(update.hasTimestamp() ? "[user]:" : "[system]:").append(update.getTimestamp()) .append(" [").append(displayLabels(update.getColumnVisibility())).append("] ") .append(update.isDeleted() ? "<deleted>" : value).append("\n"); } } return builder.toString(); }
@Override public List<Short> check(Environment env, Mutation mutation) { List<ColumnUpdate> updates = mutation.getUpdates();
@Override public synchronized void mutate(List<Mutation> mutations, int kvCount) { // this method is synchronized because it reuses objects to avoid allocation, // currently, the method that calls this is synchronized so there is no // loss in parallelism.... synchronization was added here for future proofing try { partitioner.partition(mutations, partitioned); for (int i = 0; i < partitioned.length; i++) { if (partitioned.get(i).size() > 0) { maps[i].mutate(partitioned.get(i), kvCount); for (Mutation m : partitioned.get(i)) kvCount += m.getUpdates().size(); } } } finally { // clear immediately so mutations can be garbage collected for (List<Mutation> list : partitioned) { list.clear(); } } }
@Override public List<Short> check(Environment env, Mutation mutation) { // fast size check if (mutation.numBytes() < maxSize) return NO_VIOLATIONS; List<Short> violations = new ArrayList<>(); for (ColumnUpdate cu : mutation.getUpdates()) { int size = mutation.getRow().length; size += cu.getColumnFamily().length; size += cu.getColumnQualifier().length; size += cu.getColumnVisibility().length; if (size > maxSize) violations.add(MAX__KEY_SIZE_EXCEEDED_VIOLATION); } return violations; } }
if (mutation.getUpdates().size() == 1) { int lgid = getLgid(mbs, mutation.getUpdates().get(0)); partitionedMutations.get(lgid).add(mutation); } else { for (ColumnUpdate cu : mutation.getUpdates()) { int lgid = getLgid(mbs, cu);
List<ColumnUpdate> colUpdates = m.getUpdates(); List<ColumnUpdate> sampleColUpdates = null; for (ColumnUpdate cvp : colUpdates) {
private int _mutate(Mutation mutation, int mutationCount) { List<ColumnUpdate> updates = mutation.getUpdates(); if (updates.size() == 1) { ColumnUpdate update = updates.get(0); singleUpdate(nmPointer, mutation.getRow(), update.getColumnFamily(), update.getColumnQualifier(), update.getColumnVisibility(), update.getTimestamp(), update.isDeleted(), update.getValue(), mutationCount++); } else if (updates.size() > 1) { long uid = startUpdate(nmPointer, mutation.getRow()); for (ColumnUpdate update : updates) { update(nmPointer, uid, update.getColumnFamily(), update.getColumnQualifier(), update.getColumnVisibility(), update.getTimestamp(), update.isDeleted(), update.getValue(), mutationCount++); } } return mutationCount; }
@Override public void mutate(List<Mutation> mutations, int kvCount) { for (Mutation m : mutations) { for (ColumnUpdate cvp : m.getUpdates()) { Key newKey = new MemKey(m.getRow(), cvp.getColumnFamily(), cvp.getColumnQualifier(), cvp.getColumnVisibility(), cvp.getTimestamp(), cvp.isDeleted(), false, kvCount++); Value value = new Value(cvp.getValue()); put(newKey, value); } } }
Collection<ColumnUpdate> colUpdates = mutation.getUpdates(); int otherTidCount = 0; for (ColumnUpdate update : mutation.getUpdates()) { if (new ColumnFQ(update).equals(TabletsSection.ServerColumnFamily.DIRECTORY_COLUMN)) { isSplitMutation = true; for (ColumnUpdate update : mutation.getUpdates()) { log.debug(" update: {}:{} value {}", new String(update.getColumnFamily(), UTF_8), new String(update.getColumnQualifier(), UTF_8),
for (ColumnUpdate update : orig.getUpdates()) { long timestamp;
TabletsSection.ServerColumnFamily.TIME_COLUMN.put(m, new Value(maxLogicalTime.getBytes())); if (!m.getUpdates().isEmpty()) { bw.addMutation(m);
private int printMutation(Text table, Mutation m) { if (log.isTraceEnabled()) { log.trace(String.format("Table %s row key: %s", table, hexDump(m.getRow()))); for (ColumnUpdate cu : m.getUpdates()) { log.trace(String.format("Table %s column: %s:%s", table, hexDump(cu.getColumnFamily()), hexDump(cu.getColumnQualifier()))); log.trace(String.format("Table %s security: %s", table, new ColumnVisibility(cu.getColumnVisibility()).toString())); log.trace(String.format("Table %s value: %s", table, hexDump(cu.getValue()))); } } return m.getUpdates().size(); }
private int printMutation(Text table, Mutation m) { if (log.isTraceEnabled()) { log.trace(String.format("Table %s row key: %s", table, hexDump(m.getRow()))); for (ColumnUpdate cu : m.getUpdates()) { log.trace(String.format("Table %s column: %s:%s", table, hexDump(cu.getColumnFamily()), hexDump(cu.getColumnQualifier()))); log.trace(String.format("Table %s security: %s", table, new ColumnVisibility(cu.getColumnVisibility()).toString())); log.trace(String.format("Table %s value: %s", table, hexDump(cu.getValue()))); } } return m.getUpdates().size(); }
private int printMutation(Text table, Mutation m) { if (log.isTraceEnabled()) { log.trace(String.format("Table %s row key: %s", table, hexDump(m.getRow()))); for (ColumnUpdate cu : m.getUpdates()) { log.trace(String.format("Table %s column: %s:%s", table, hexDump(cu.getColumnFamily()), hexDump(cu.getColumnQualifier()))); log.trace(String.format("Table %s security: %s", table, new ColumnVisibility(cu.getColumnVisibility()).toString())); log.trace(String.format("Table %s value: %s", table, hexDump(cu.getValue()))); } } return m.getUpdates().size(); }
@Override public void mutate(List<Mutation> mutations, int kvCount) { for (Mutation m : mutations) { for (ColumnUpdate cvp : m.getUpdates()) { Key newKey = new MemKey(m.getRow(), cvp.getColumnFamily(), cvp.getColumnQualifier(), cvp.getColumnVisibility(), cvp.getTimestamp(), cvp.isDeleted(), false, kvCount++); Value value = new Value(cvp.getValue()); put(newKey, value); } } }