WriteBatch add(List<WriteInfo> writeInfos) { writeInfos.forEach(info -> writesByStartTs.put(info.timestamp(), info)); return this; } }
@Override public Collection<WriteInfo> filter(Collection<WriteInfo> writeInfos) { Set<TableReference> tablesToCareAbout = getConservativeTables( writeInfos.stream().map(WriteInfo::tableRef).collect(Collectors.toSet())); if (tablesToCareAbout.isEmpty()) { return writeInfos; } Map<TableReference, Long> truncationTimes = watermarkStore.getWatermarks(tablesToCareAbout); return writeInfos.stream() .filter(write -> !truncationTimes.containsKey(write.tableRef()) || write.timestamp() > truncationTimes.get(write.tableRef())) .collect(Collectors.toList()); }
private PartitionInfo getPartitionInfo(WriteInfo write, int shards) { return PartitionInfo.of(write.toShard(shards), isConservative(write), write.timestamp()); }
.forEach(write -> cellsToDelete .computeIfAbsent(write.tableRef(), ignore -> HashMultimap.create()) .put(write.cell(), write.timestamp())); } else if (commitTs < sweepTs) { lastSweptTs = startTs;
WriteBatch add(List<WriteInfo> writeInfos) { writeInfos.forEach(info -> writesByStartTs.put(info.timestamp(), info)); return this; } }
@Override public Collection<WriteInfo> filter(Collection<WriteInfo> writeInfos) { Set<TableReference> tablesToCareAbout = getConservativeTables( writeInfos.stream().map(WriteInfo::tableRef).collect(Collectors.toSet())); if (tablesToCareAbout.isEmpty()) { return writeInfos; } Map<TableReference, Long> truncationTimes = watermarkStore.getWatermarks(tablesToCareAbout); return writeInfos.stream() .filter(write -> !truncationTimes.containsKey(write.tableRef()) || write.timestamp() > truncationTimes.get(write.tableRef())) .collect(Collectors.toList()); }
.forEach(write -> cellsToDelete .computeIfAbsent(write.tableRef(), ignore -> HashMultimap.create()) .put(write.cell(), write.timestamp())); } else if (commitTs < sweepTs) { lastSweptTs = startTs;
private PartitionInfo getPartitionInfo(WriteInfo write, int shards) { return PartitionInfo.of(write.toShard(shards), isConservative(write), write.timestamp()); }