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 B2888105DE for ; Wed, 29 Jan 2014 20:11:57 +0000 (UTC) Received: (qmail 84593 invoked by uid 500); 29 Jan 2014 20:11:03 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 84568 invoked by uid 500); 29 Jan 2014 20:11:03 -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 84544 invoked by uid 99); 29 Jan 2014 20:11:02 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Jan 2014 20:11:02 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id A68B8910756; Wed, 29 Jan 2014 20:11:02 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aleksey@apache.org To: commits@cassandra.apache.org Message-Id: <671d423475b543d69397c58feee4c5f0@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: git commit: Release sstables upon rebuilding 2i Date: Wed, 29 Jan 2014 20:11:02 +0000 (UTC) Updated Branches: refs/heads/cassandra-2.0 0be42463b -> 287745e54 Release sstables upon rebuilding 2i patch by Sergio Bossa; reviewed by Aleksey Yeschenko for CASSANDRA-6635 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/287745e5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/287745e5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/287745e5 Branch: refs/heads/cassandra-2.0 Commit: 287745e54ddc5785fa45dfa3903de426b0c1a255 Parents: 0be4246 Author: Aleksey Yeschenko Authored: Wed Jan 29 14:10:18 2014 -0600 Committer: Aleksey Yeschenko Committed: Wed Jan 29 14:10:18 2014 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/db/index/SecondaryIndex.java | 22 +++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/287745e5/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index ed32385..4009981 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -13,6 +13,7 @@ * Avoid rare duplicate read repair triggering (CASSANDRA-6606) * Fix paging discardFirst (CASSANDRA-6555) * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470) + * Release sstables upon rebuilding 2i (CASSANDRA-6635) Merged from 1.2: * fsync compression metadata (CASSANDRA-6531) * Validate CF existence on execution for prepared statement (CASSANDRA-6535) http://git-wip-us.apache.org/repos/asf/cassandra/blob/287745e5/src/java/org/apache/cassandra/db/index/SecondaryIndex.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/index/SecondaryIndex.java b/src/java/org/apache/cassandra/db/index/SecondaryIndex.java index 3b4a6ec..fda28f0 100644 --- a/src/java/org/apache/cassandra/db/index/SecondaryIndex.java +++ b/src/java/org/apache/cassandra/db/index/SecondaryIndex.java @@ -180,14 +180,20 @@ public abstract class SecondaryIndex getIndexName(), StringUtils.join(baseCfs.getSSTables(), ", "))); Collection sstables = baseCfs.markCurrentSSTablesReferenced(); - SecondaryIndexBuilder builder = new SecondaryIndexBuilder(baseCfs, - Collections.singleton(getIndexName()), - new ReducingKeyIterator(sstables)); - Future future = CompactionManager.instance.submitIndexBuild(builder); - FBUtilities.waitOnFuture(future); - forceBlockingFlush(); - - setIndexBuilt(); + try + { + SecondaryIndexBuilder builder = new SecondaryIndexBuilder(baseCfs, + Collections.singleton(getIndexName()), + new ReducingKeyIterator(sstables)); + Future future = CompactionManager.instance.submitIndexBuild(builder); + FBUtilities.waitOnFuture(future); + forceBlockingFlush(); + setIndexBuilt(); + } + finally + { + SSTableReader.releaseReferences(sstables); + } logger.info("Index build of " + getIndexName() + " complete"); }