public boolean hasRanges() { return ranges != null && !ranges.isEmpty(); }
public boolean hasRanges() { return ranges != null && !ranges.isEmpty(); }
public boolean hasRanges() { return ranges != null && !ranges.isEmpty(); }
public boolean hasRanges() { return ranges != null && !ranges.isEmpty(); }
public boolean hasRanges() { return ranges != null && !ranges.isEmpty(); }
/** * Returns whether this DeletionInfo is live, that is deletes no columns. */ public boolean isLive() { return partitionDeletion.isLive() && (ranges == null || ranges.isEmpty()); }
@Override public String toString() { if (ranges == null || ranges.isEmpty()) return String.format("{%s}", partitionDeletion); else return String.format("{%s, ranges=%s}", partitionDeletion, rangesAsString()); }
@Override public String toString() { if (ranges == null || ranges.isEmpty()) return String.format("{%s}", partitionDeletion); else return String.format("{%s, ranges=%s}", partitionDeletion, rangesAsString()); }
/** * Returns whether this DeletionInfo is live, that is deletes no columns. */ public boolean isLive() { return partitionDeletion.isLive() && (ranges == null || ranges.isEmpty()); }
@Override public String toString() { if (ranges == null || ranges.isEmpty()) return String.format("{%s}", partitionDeletion); else return String.format("{%s, ranges=%s}", partitionDeletion, rangesAsString()); }
/** * Returns whether this DeletionInfo is live, that is deletes no columns. */ public boolean isLive() { return partitionDeletion.isLive() && (ranges == null || ranges.isEmpty()); }
/** * Returns whether this DeletionInfo is live, that is deletes no columns. */ public boolean isLive() { return topLevel.isLive() && (ranges == null || ranges.isEmpty()); }
/** * Returns whether this DeletionInfo is live, that is deletes no columns. */ public boolean isLive() { return partitionDeletion.isLive() && (ranges == null || ranges.isEmpty()); }
@Override public String toString() { if (ranges == null || ranges.isEmpty()) return String.format("{%s}", partitionDeletion); else return String.format("{%s, ranges=%s}", partitionDeletion, rangesAsString()); }
@Override public String toString() { if (ranges == null || ranges.isEmpty()) return String.format("{%s}", topLevel); else return String.format("{%s, ranges=%s}", topLevel, rangesAsString()); }
/** * Purge every tombstones that are older than {@code gcbefore}. * * @param gcBefore timestamp (in seconds) before which tombstones should be purged */ public void purge(int gcBefore) { topLevel = topLevel.localDeletionTime < gcBefore ? DeletionTime.LIVE : topLevel; if (ranges != null) { ranges.purge(gcBefore); if (ranges.isEmpty()) ranges = null; } }
private String rangesAsString() { assert !ranges.isEmpty(); StringBuilder sb = new StringBuilder(); ClusteringComparator cc = ranges.comparator(); Iterator<RangeTombstone> iter = rangeIterator(false); while (iter.hasNext()) { RangeTombstone i = iter.next(); sb.append(i.deletedSlice().toString(cc)); sb.append('@'); sb.append(i.deletionTime()); } return sb.toString(); }
private String rangesAsString() { assert !ranges.isEmpty(); StringBuilder sb = new StringBuilder(); ClusteringComparator cc = ranges.comparator(); Iterator<RangeTombstone> iter = rangeIterator(false); while (iter.hasNext()) { RangeTombstone i = iter.next(); sb.append(i.deletedSlice().toString(cc)); sb.append('@'); sb.append(i.deletionTime()); } return sb.toString(); }
private String rangesAsString() { assert !ranges.isEmpty(); StringBuilder sb = new StringBuilder(); ClusteringComparator cc = ranges.comparator(); Iterator<RangeTombstone> iter = rangeIterator(false); while (iter.hasNext()) { RangeTombstone i = iter.next(); sb.append(i.deletedSlice().toString(cc)); sb.append('@'); sb.append(i.deletionTime()); } return sb.toString(); }
/** * Evaluates difference between this deletion info and superset for read repair * * @return the difference between the two, or LIVE if no difference */ public DeletionInfo diff(DeletionInfo superset) { RangeTombstoneList rangeDiff = superset.ranges == null || superset.ranges.isEmpty() ? null : ranges == null ? superset.ranges : ranges.diff(superset.ranges); return topLevel.markedForDeleteAt != superset.topLevel.markedForDeleteAt || rangeDiff != null ? new DeletionInfo(superset.topLevel, rangeDiff) : DeletionInfo.live(); }