Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6AFA1189DF for ; Thu, 2 Jul 2015 18:04:42 +0000 (UTC) Received: (qmail 31469 invoked by uid 500); 2 Jul 2015 18:04:42 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 31444 invoked by uid 500); 2 Jul 2015 18:04:42 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 31303 invoked by uid 99); 2 Jul 2015 18:04:42 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Jul 2015 18:04:42 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A6671E3671; Thu, 2 Jul 2015 18:04:41 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: benedict@apache.org To: commits@cassandra.apache.org Date: Thu, 02 Jul 2015 18:04:44 -0000 Message-Id: In-Reply-To: <8fc961ad0ed249a59bf10288d98b2fba@git.apache.org> References: <8fc961ad0ed249a59bf10288d98b2fba@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [4/4] cassandra git commit: Ensure StreamSession uses canonical sstable instances Ensure StreamSession uses canonical sstable instances patch by benedict; reviewed by yukim for CASSANDRA-9700 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/61aeb910 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/61aeb910 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/61aeb910 Branch: refs/heads/trunk Commit: 61aeb910930faa6caeac98a184e1909e69d7abb0 Parents: 7813dee Author: Benedict Elliott Smith Authored: Thu Jul 2 18:05:09 2015 +0100 Committer: Benedict Elliott Smith Committed: Thu Jul 2 19:04:19 2015 +0100 ---------------------------------------------------------------------- .../cassandra/streaming/StreamSession.java | 21 +++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/61aeb910/src/java/org/apache/cassandra/streaming/StreamSession.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/streaming/StreamSession.java b/src/java/org/apache/cassandra/streaming/StreamSession.java index d27c4e2..c9ebdad 100644 --- a/src/java/org/apache/cassandra/streaming/StreamSession.java +++ b/src/java/org/apache/cassandra/streaming/StreamSession.java @@ -321,18 +321,21 @@ public class StreamSession implements IEndpointStateChangeSubscriber { public List apply(View view) { - List filteredSSTables = ColumnFamilyStore.CANONICAL_SSTABLES.apply(view); + Map permittedInstances = new HashMap<>(); + for (SSTableReader reader : ColumnFamilyStore.CANONICAL_SSTABLES.apply(view)) + permittedInstances.put(reader, reader); + Set sstables = Sets.newHashSet(); - if (filteredSSTables != null) + for (AbstractBounds rowBounds : rowBoundsList) { - for (AbstractBounds rowBounds : rowBoundsList) + // sstableInBounds may contain early opened sstables + for (SSTableReader sstable : view.sstablesInBounds(rowBounds)) { - // sstableInBounds may contain early opened sstables - for (SSTableReader sstable : view.sstablesInBounds(rowBounds)) - { - if (filteredSSTables.contains(sstable) && (!isIncremental || !sstable.isRepaired())) - sstables.add(sstable); - } + if (isIncremental && sstable.isRepaired()) + continue; + sstable = permittedInstances.get(sstable); + if (sstable != null) + sstables.add(sstable); } }