private List<FlushRunnable> createFlushRunnables(LifecycleTransaction txn) { DiskBoundaries diskBoundaries = cfs.getDiskBoundaries(); List<PartitionPosition> boundaries = diskBoundaries.positions; List<Directories.DataDirectory> locations = diskBoundaries.directories; if (boundaries == null) return Collections.singletonList(new FlushRunnable(txn)); List<FlushRunnable> runnables = new ArrayList<>(boundaries.size()); PartitionPosition rangeStart = cfs.getPartitioner().getMinimumToken().minKeyBound(); try { for (int i = 0; i < boundaries.size(); i++) { PartitionPosition t = boundaries.get(i); runnables.add(new FlushRunnable(rangeStart, t, locations.get(i), txn)); rangeStart = t; } return runnables; } catch (Throwable e) { throw Throwables.propagate(abortRunnables(runnables, e)); } }
private List<FlushRunnable> createFlushRunnables(LifecycleTransaction txn) { DiskBoundaries diskBoundaries = cfs.getDiskBoundaries(); List<PartitionPosition> boundaries = diskBoundaries.positions; List<Directories.DataDirectory> locations = diskBoundaries.directories; if (boundaries == null) return Collections.singletonList(new FlushRunnable(txn)); List<FlushRunnable> runnables = new ArrayList<>(boundaries.size()); PartitionPosition rangeStart = cfs.getPartitioner().getMinimumToken().minKeyBound(); try { for (int i = 0; i < boundaries.size(); i++) { PartitionPosition t = boundaries.get(i); runnables.add(new FlushRunnable(rangeStart, t, locations.get(i), txn)); rangeStart = t; } return runnables; } catch (Throwable e) { throw Throwables.propagate(abortRunnables(runnables, e)); } }
private List<FlushRunnable> createFlushRunnables(LifecycleTransaction txn) { DiskBoundaries diskBoundaries = cfs.getDiskBoundaries(); List<PartitionPosition> boundaries = diskBoundaries.positions; List<Directories.DataDirectory> locations = diskBoundaries.directories; if (boundaries == null) return Collections.singletonList(new FlushRunnable(txn)); List<FlushRunnable> runnables = new ArrayList<>(boundaries.size()); PartitionPosition rangeStart = cfs.getPartitioner().getMinimumToken().minKeyBound(); try { for (int i = 0; i < boundaries.size(); i++) { PartitionPosition t = boundaries.get(i); runnables.add(new FlushRunnable(rangeStart, t, locations.get(i), txn)); rangeStart = t; } return runnables; } catch (Throwable e) { throw Throwables.propagate(abortRunnables(runnables, e)); } }
t = memtable.abortRunnables(flushRunnables, t); t = txn.abort(t); throw Throwables.propagate(t);
t = memtable.abortRunnables(flushRunnables, t); t = txn.abort(t); throw Throwables.propagate(t);
t = memtable.abortRunnables(flushRunnables, t); t = txn.abort(t); throw Throwables.propagate(t);