public View apply(View view) { List<Memtable> newLive = ImmutableList.<Memtable>builder().addAll(view.liveMemtables).add(newMemtable).build(); assert newLive.size() == view.liveMemtables.size() + 1; return new View(newLive, view.flushingMemtables, view.sstablesMap, view.compactingMap, view.intervalTree); } };
public View apply(View view) { List<Memtable> newLive = ImmutableList.<Memtable>builder().addAll(view.liveMemtables).add(newMemtable).build(); assert newLive.size() == view.liveMemtables.size() + 1; return new View(newLive, view.flushingMemtables, view.sstablesMap, view.compactingMap, view.intervalTree); } };
public View apply(View view) { List<Memtable> live = view.liveMemtables, flushing = view.flushingMemtables; List<Memtable> newLive = copyOf(filter(live, not(equalTo(toFlush)))); List<Memtable> newFlushing = copyOf(concat(filter(flushing, lessThan(toFlush)), of(toFlush), filter(flushing, not(lessThan(toFlush))))); assert newLive.size() == live.size() - 1; assert newFlushing.size() == flushing.size() + 1; return new View(newLive, newFlushing, view.sstablesMap, view.compactingMap, view.intervalTree); } };
public View apply(View view) { List<Memtable> live = view.liveMemtables, flushing = view.flushingMemtables; List<Memtable> newLive = copyOf(filter(live, not(equalTo(toFlush)))); List<Memtable> newFlushing = copyOf(concat(filter(flushing, lessThan(toFlush)), of(toFlush), filter(flushing, not(lessThan(toFlush))))); assert newLive.size() == live.size() - 1; assert newFlushing.size() == flushing.size() + 1; return new View(newLive, newFlushing, view.sstablesMap, view.compactingMap, view.intervalTree); } };
/** (Re)initializes the tracker, purging all references. */ @VisibleForTesting public void reset(Memtable memtable) { view.set(new View(memtable != null ? singletonList(memtable) : Collections.emptyList(), Collections.emptyList(), Collections.emptyMap(), Collections.emptyMap(), SSTableIntervalTree.empty())); }
/** (Re)initializes the tracker, purging all references. */ @VisibleForTesting public void reset(Memtable memtable) { view.set(new View(memtable != null ? singletonList(memtable) : Collections.emptyList(), Collections.emptyList(), Collections.emptyMap(), Collections.emptyMap(), SSTableIntervalTree.empty())); }
/** (Re)initializes the tracker, purging all references. */ @VisibleForTesting public void reset(Memtable memtable) { view.set(new View(memtable != null ? singletonList(memtable) : Collections.emptyList(), Collections.emptyList(), Collections.emptyMap(), Collections.emptyMap(), SSTableIntervalTree.empty())); }
public View apply(View view) { List<Memtable> flushingMemtables = copyOf(filter(view.flushingMemtables, not(equalTo(memtable)))); assert flushingMemtables.size() == view.flushingMemtables.size() - 1; if (flushed == null || Iterables.isEmpty(flushed)) return new View(view.liveMemtables, flushingMemtables, view.sstablesMap, view.compactingMap, view.intervalTree); Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, emptySet(), flushed); return new View(view.liveMemtables, flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { List<Memtable> flushingMemtables = copyOf(filter(view.flushingMemtables, not(equalTo(memtable)))); assert flushingMemtables.size() == view.flushingMemtables.size() - 1; if (flushed == null || Iterables.isEmpty(flushed)) return new View(view.liveMemtables, flushingMemtables, view.sstablesMap, view.compactingMap, view.intervalTree); Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, emptySet(), flushed); return new View(view.liveMemtables, flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, remove, add); return new View(view.liveMemtables, view.flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, remove, add); return new View(view.liveMemtables, view.flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, remove, add); return new View(view.liveMemtables, view.flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, remove, add); return new View(view.liveMemtables, view.flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { List<Memtable> newLive = ImmutableList.<Memtable>builder().addAll(view.liveMemtables).add(newMemtable).build(); assert newLive.size() == view.liveMemtables.size() + 1; return new View(newLive, view.flushingMemtables, view.sstablesMap, view.compactingMap, view.intervalTree); } };
public View apply(View view) { List<Memtable> flushingMemtables = copyOf(filter(view.flushingMemtables, not(equalTo(memtable)))); assert flushingMemtables.size() == view.flushingMemtables.size() - 1; if (flushed == null || Iterables.isEmpty(flushed)) return new View(view.liveMemtables, flushingMemtables, view.sstablesMap, view.compactingMap, view.intervalTree); Map<SSTableReader, SSTableReader> sstableMap = replace(view.sstablesMap, emptySet(), flushed); return new View(view.liveMemtables, flushingMemtables, sstableMap, view.compactingMap, SSTableIntervalTree.build(sstableMap.keySet())); } };
public View apply(View view) { assert all(mark, Helpers.idIn(view.sstablesMap)); return new View(view.liveMemtables, view.flushingMemtables, view.sstablesMap, replace(view.compactingMap, unmark, mark), view.intervalTree); } };
public View apply(View view) { assert all(mark, Helpers.idIn(view.sstablesMap)); return new View(view.liveMemtables, view.flushingMemtables, view.sstablesMap, replace(view.compactingMap, unmark, mark), view.intervalTree); } };
public View apply(View view) { assert all(mark, Helpers.idIn(view.sstablesMap)); return new View(view.liveMemtables, view.flushingMemtables, view.sstablesMap, replace(view.compactingMap, unmark, mark), view.intervalTree); } };
public View apply(View view) { assert all(mark, Helpers.idIn(view.sstablesMap)); return new View(view.liveMemtables, view.flushingMemtables, view.sstablesMap, replace(view.compactingMap, unmark, mark), view.intervalTree); } };
public View apply(View view) { List<Memtable> live = view.liveMemtables, flushing = view.flushingMemtables; List<Memtable> newLive = copyOf(filter(live, not(equalTo(toFlush)))); List<Memtable> newFlushing = copyOf(concat(filter(flushing, lessThan(toFlush)), of(toFlush), filter(flushing, not(lessThan(toFlush))))); assert newLive.size() == live.size() - 1; assert newFlushing.size() == flushing.size() + 1; return new View(newLive, newFlushing, view.sstablesMap, view.compactingMap, view.intervalTree); } };