/** * Write a compaction to {@code out}. * * @param out * stream to write the compacted tables to. Caller is responsible * for closing {@code out}. * @throws java.io.IOException * if tables cannot be read, or cannot be written. */ public void compact(OutputStream out) throws IOException { MergedReftable mr = new MergedReftable(new ArrayList<>(tables)); mr.setIncludeDeletes(includeDeletes); writer.setMinUpdateIndex(Math.max(minUpdateIndex, 0)); writer.setMaxUpdateIndex(maxUpdateIndex); writer.begin(out); mergeRefs(mr); mergeLogs(mr); writer.finish(); stats = writer.getStats(); }
private ReftableWriter.Stats write(OutputStream os, ReftableConfig cfg, long updateIndex, List<Ref> newRefs, List<ReceiveCommand> pending) throws IOException { ReftableWriter writer = new ReftableWriter(cfg) .setMinUpdateIndex(updateIndex).setMaxUpdateIndex(updateIndex) .begin(os).sortAndWriteRefs(newRefs); if (!isRefLogDisabled()) { writeLog(writer, updateIndex, pending); } writer.finish(); return writer.getStats(); }
private void writeReftable(DfsPackDescription pack, Collection<Ref> refs) throws IOException { try (DfsOutputStream out = objdb.writeFile(pack, REFTABLE)) { ReftableConfig cfg = configureReftable(reftableConfig, out); ReftableWriter writer = new ReftableWriter(cfg) .setMinUpdateIndex(reftableInitialMinUpdateIndex) .setMaxUpdateIndex(reftableInitialMaxUpdateIndex) .begin(out) .sortAndWriteRefs(refs) .finish(); pack.addFileExt(REFTABLE); pack.setReftableStats(writer.getStats()); } }
/** * Write a compaction to {@code out}. * * @param out * stream to write the compacted tables to. Caller is responsible * for closing {@code out}. * @throws java.io.IOException * if tables cannot be read, or cannot be written. */ public void compact(OutputStream out) throws IOException { MergedReftable mr = new MergedReftable(new ArrayList<>(tables)); mr.setIncludeDeletes(includeDeletes); writer.setMinUpdateIndex(Math.max(minUpdateIndex, 0)); writer.setMaxUpdateIndex(maxUpdateIndex); writer.begin(out); mergeRefs(mr); mergeLogs(mr); writer.finish(); stats = writer.getStats(); }
private ReftableWriter.Stats write(OutputStream os, ReftableConfig cfg, long updateIndex, List<Ref> newRefs, List<ReceiveCommand> pending) throws IOException { ReftableWriter writer = new ReftableWriter(cfg) .setMinUpdateIndex(updateIndex).setMaxUpdateIndex(updateIndex) .begin(os).sortAndWriteRefs(newRefs); if (!isRefLogDisabled()) { writeLog(writer, updateIndex, pending); } writer.finish(); return writer.getStats(); }
private void writeReftable(DfsPackDescription pack, Collection<Ref> refs) throws IOException { try (DfsOutputStream out = objdb.writeFile(pack, REFTABLE)) { ReftableConfig cfg = configureReftable(reftableConfig, out); ReftableWriter writer = new ReftableWriter(cfg) .setMinUpdateIndex(reftableInitialMinUpdateIndex) .setMaxUpdateIndex(reftableInitialMaxUpdateIndex) .begin(out) .sortAndWriteRefs(refs) .finish(); pack.addFileExt(REFTABLE); pack.setReftableStats(writer.getStats()); } }