Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D6687200B4B for ; Thu, 21 Jul 2016 16:03:58 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id D519A160A92; Thu, 21 Jul 2016 14:03:58 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 33D94160A72 for ; Thu, 21 Jul 2016 16:03:58 +0200 (CEST) Received: (qmail 60829 invoked by uid 500); 21 Jul 2016 14:03:57 -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 60802 invoked by uid 99); 21 Jul 2016 14:03:57 -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, 21 Jul 2016 14:03:57 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1E1A9E1101; Thu, 21 Jul 2016 14:03:57 +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 Date: Thu, 21 Jul 2016 14:03:57 -0000 Message-Id: <402df890ef6349a98e510e6544cf33b3@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/6] cassandra git commit: Faster startup by only scanning each directory for temporary files once archived-at: Thu, 21 Jul 2016 14:03:59 -0000 Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 904137c38 -> 864e009b0 refs/heads/cassandra-3.9 584eae391 -> 5e111e64d refs/heads/trunk 29bd15ee9 -> e7dcbd64a Faster startup by only scanning each directory for temporary files once patch by Jeff Jirsa; reviewed by Joel Knighton for CASSANDRA-12114 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/864e009b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/864e009b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/864e009b Branch: refs/heads/cassandra-3.0 Commit: 864e009b0853741fc33de5ab4e6384cacef48ca8 Parents: 904137c Author: Jeff Jirsa Authored: Tue Jul 5 23:19:12 2016 -0700 Committer: Aleksey Yeschenko Committed: Thu Jul 21 15:01:28 2016 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/864e009b/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 9acd89e..eb73da2 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.9 + * Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114) * Respond with v1/v2 protocol header when responding to driver that attempts to connect with too low of a protocol version (CASSANDRA-11464) * NullPointerExpception when reading/compacting table (CASSANDRA-11988) http://git-wip-us.apache.org/repos/asf/cassandra/blob/864e009b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index b95e88d..f34a2d5 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -581,6 +581,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean public static void scrubDataDirectories(CFMetaData metadata) { Directories directories = new Directories(metadata, initialDirectories); + Set cleanedDirectories = new HashSet<>(); // clear ephemeral snapshots that were not properly cleared last session (CASSANDRA-7357) clearEphemeralSnapshots(directories); @@ -594,10 +595,15 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean for (Map.Entry> sstableFiles : directories.sstableLister(Directories.OnTxnErr.IGNORE).list().entrySet()) { Descriptor desc = sstableFiles.getKey(); + File directory = desc.directory; Set components = sstableFiles.getValue(); - for (File tmpFile : desc.getTemporaryFiles()) - tmpFile.delete(); + if (!cleanedDirectories.contains(directory)) + { + cleanedDirectories.add(directory); + for (File tmpFile : desc.getTemporaryFiles()) + tmpFile.delete(); + } File dataFile = new File(desc.filenameFor(Component.DATA)); if (components.contains(Component.DATA) && dataFile.length() > 0)