Merge branch 'cassandra-3.11' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba5f946e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba5f946e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba5f946e Branch: refs/heads/trunk Commit: ba5f946e5f6763549e7235b48357a1edd0d67728 Parents: 77a352b 7d6474b Author: Blake Eggleston <[email protected]> Authored: Wed Nov 8 16:43:50 2017 -0800 Committer: Blake Eggleston <[email protected]> Committed: Wed Nov 8 16:58:58 2017 -0800 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../org/apache/cassandra/service/ActiveRepairService.java | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba5f946e/CHANGES.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba5f946e/src/java/org/apache/cassandra/service/ActiveRepairService.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/ActiveRepairService.java index ab92822,626aa91..62352ad --- a/src/java/org/apache/cassandra/service/ActiveRepairService.java +++ b/src/java/org/apache/cassandra/service/ActiveRepairService.java @@@ -469,9 -354,8 +469,9 @@@ public class ActiveRepairService implem throw new RuntimeException(errorMsg); } - public void registerParentRepairSession(UUID parentRepairSession, InetAddress coordinator, List<ColumnFamilyStore> columnFamilyStores, Collection<Range<Token>> ranges, boolean isIncremental, long repairedAt, boolean isGlobal, PreviewKind previewKind) - public synchronized void registerParentRepairSession(UUID parentRepairSession, InetAddress coordinator, List<ColumnFamilyStore> columnFamilyStores, Collection<Range<Token>> ranges, boolean isIncremental, long timestamp, boolean isGlobal) ++ public synchronized void registerParentRepairSession(UUID parentRepairSession, InetAddress coordinator, List<ColumnFamilyStore> columnFamilyStores, Collection<Range<Token>> ranges, boolean isIncremental, long repairedAt, boolean isGlobal, PreviewKind previewKind) { + assert isIncremental || repairedAt == ActiveRepairService.UNREPAIRED_SSTABLE; if (!registeredForEndpointChanges) { Gossiper.instance.register(this); @@@ -479,9 -363,46 +479,12 @@@ registeredForEndpointChanges = true; } - parentRepairSessions.put(parentRepairSession, new ParentRepairSession(coordinator, columnFamilyStores, ranges, isIncremental, repairedAt, isGlobal, previewKind)); + if (!parentRepairSessions.containsKey(parentRepairSession)) + { - parentRepairSessions.put(parentRepairSession, new ParentRepairSession(coordinator, columnFamilyStores, ranges, isIncremental, timestamp, isGlobal)); ++ parentRepairSessions.put(parentRepairSession, new ParentRepairSession(coordinator, columnFamilyStores, ranges, isIncremental, repairedAt, isGlobal, previewKind)); + } } - public Set<SSTableReader> currentlyRepairing(UUID cfId, UUID parentRepairSession) - { - Set<SSTableReader> repairing = new HashSet<>(); - for (Map.Entry<UUID, ParentRepairSession> entry : parentRepairSessions.entrySet()) - { - Collection<SSTableReader> sstables = entry.getValue().getActiveSSTables(cfId); - if (sstables != null && !entry.getKey().equals(parentRepairSession)) - repairing.addAll(sstables); - } - return repairing; - } - - /** - * Run final process of repair. - * This removes all resources held by parent repair session, after performing anti compaction if necessary. - * - * @param parentSession Parent session ID - * @param neighbors Repair participants (not including self) - * @param successfulRanges Ranges that repaired successfully - */ - public synchronized ListenableFuture finishParentSession(UUID parentSession, Set<InetAddress> neighbors, Collection<Range<Token>> successfulRanges) - { - List<ListenableFuture<?>> tasks = new ArrayList<>(neighbors.size() + 1); - for (InetAddress neighbor : neighbors) - { - AnticompactionTask task = new AnticompactionTask(parentSession, neighbor, successfulRanges); - registerOnFdAndGossip(task); - tasks.add(task); - task.run(); // 'run' is just sending message - } - tasks.add(doAntiCompaction(parentSession, successfulRanges)); - return Futures.successfulAsList(tasks); - } - public ParentRepairSession getParentRepairSession(UUID parentSessionId) { ParentRepairSession session = parentRepairSessions.get(parentSessionId); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
