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 CE2369E25 for ; Tue, 22 Nov 2011 17:53:03 +0000 (UTC) Received: (qmail 46248 invoked by uid 500); 22 Nov 2011 17:53:03 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 46226 invoked by uid 500); 22 Nov 2011 17:53: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 46218 invoked by uid 99); 22 Nov 2011 17:53:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Nov 2011 17:53:03 +0000 X-ASF-Spam-Status: No, hits=-2001.2 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Nov 2011 17:53:01 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 572EB97BF8 for ; Tue, 22 Nov 2011 17:52:40 +0000 (UTC) Date: Tue, 22 Nov 2011 17:52:40 +0000 (UTC) From: "Jonathan Ellis (Updated) (JIRA)" To: commits@cassandra.apache.org Message-ID: <385510836.3238.1321984360358.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <56977351.25588.1319737352849.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (CASSANDRA-3411) Pre-allocated, Recycled Commitlog Segment Files MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CASSANDRA-3411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-3411: -------------------------------------- Attachment: 3411-v7.txt v7 attached. Cleaned out uses of CLS.length which were mostly incorrect now. Cleaned up the size tracking code. Made allocator responsible for recycle/discard decision. Added enableReserveSegmentCreation "magic flag" to avoid so much churn on restart/reply. Switched to pre-append capacity check instead of post-, so no need to mmap more than a single buffer per segment. Moved all segment tracking into allocator. Will create tickets for switching to a txid-based reply, and saving the extra local copy. > Pre-allocated, Recycled Commitlog Segment Files > ----------------------------------------------- > > Key: CASSANDRA-3411 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3411 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Rick Branson > Priority: Minor > Attachments: 001-pre-allocated-recycled-commitlog-segment-files-CASSANDRA-3411.patch, 003-pre-allocated-recycled-commitlog-segment-files-CASSANDRA-3411.patch, 004-pre-allocated-recycled-commitlog-segment-files-CASSANDRA-3411.patch, 006-pre-allocated-recycled-commitlog-segment-files-CASSANDRA-3411.patch, 3411-cleaned.txt, 3411-v5.txt, 3411-v6-retry.txt, 3411-v7.txt > > > An approach for improving commitlog performance is to pre-allocate the full 128MB segment files and reuse them once all the mutations have been flushed. Pre-allocation allows writes to be performed without modifying the file size metadata, and should (in theory) allow the filesystem to allocate a contiguous block of space for the file. Recycling the segment files prevents the overhead of pre-allocation from impacting overall performance. -- 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