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 C336CD80A for ; Mon, 30 Jul 2012 22:01:36 +0000 (UTC) Received: (qmail 84714 invoked by uid 500); 30 Jul 2012 22:01:36 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 84685 invoked by uid 500); 30 Jul 2012 22:01:36 -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 84673 invoked by uid 99); 30 Jul 2012 22:01:36 -0000 Received: from issues-vm.apache.org (HELO issues-vm) (140.211.11.160) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Jul 2012 22:01:36 +0000 Received: from isssues-vm.apache.org (localhost [127.0.0.1]) by issues-vm (Postfix) with ESMTP id 4BB1D142851 for ; Mon, 30 Jul 2012 22:01:36 +0000 (UTC) Date: Mon, 30 Jul 2012 22:01:36 +0000 (UTC) From: "Jonathan Ellis (JIRA)" To: commits@cassandra.apache.org Message-ID: <1087178670.118391.1343685696314.JavaMail.jiratomcat@issues-vm> In-Reply-To: <23139618.295301294781206771.JavaMail.jira@thor> Subject: [jira] [Commented] (CASSANDRA-1967) commit log replay shouldn't end with a flush MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-1967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13425295#comment-13425295 ] Jonathan Ellis commented on CASSANDRA-1967: ------------------------------------------- Created CASSANDRA-4474 for that approach. > commit log replay shouldn't end with a flush > -------------------------------------------- > > Key: CASSANDRA-1967 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1967 > Project: Cassandra > Issue Type: Improvement > Components: Core > Affects Versions: 0.3 > Reporter: Robert Coli > Priority: Minor > > (Apologies in advance if there is some very compelling reason to flush after replay, of which I am not currently aware. ;D) > Currently, when a node restarts, the following sequence occurs : > a) commitlog is replayed > b) any memtables resulting from a) are flushed > c) a new commitlog is opened, new memtables are switched in > ... (other stuff happens) > d) node starts taking traffic > This has side effects, perhaps most seriously the potential of triggering compaction. As a node is likely to struggle performance-wise after restarting, triggering compaction at that time seems like something we might wish to avoid. > I propose that the sequence be : > a) commitlog is replayed > b) a new commitlog is opened, new memtables are switched in > ... (other stuff happens) > c) node starts taking traffic > Looking through the relevant code, the only code that appears to depend on this flush is at src/java/org/apache/cassandra/db/commitlog/CommitLog.java:112 : > " > // all old segments are recovered and deleted before CommitLog is instantiated. > // All we need to do is create a new one. > segments.add(new CommitLogSegment()); > " > Presumably this code would have to be refactored to be aware of the currently open commitlog. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira