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 6C3379F18 for ; Tue, 22 Nov 2011 18:33:03 +0000 (UTC) Received: (qmail 99762 invoked by uid 500); 22 Nov 2011 18:33:03 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 99707 invoked by uid 500); 22 Nov 2011 18:33: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 99695 invoked by uid 99); 22 Nov 2011 18:33: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 18:33: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 18:33:00 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id D69DD9753B for ; Tue, 22 Nov 2011 18:32:39 +0000 (UTC) Date: Tue, 22 Nov 2011 18:32:39 +0000 (UTC) From: "Rick Branson (Commented) (JIRA)" To: commits@cassandra.apache.org Message-ID: <1407598051.3405.1321986759880.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <56977351.25588.1319737352849.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (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:comment-tabpanel&focusedCommentId=13155329#comment-13155329 ] Rick Branson commented on CASSANDRA-3411: ----------------------------------------- Nice, definitely some refactoring that needed to be done I was a little conservative about, specifically moving more work into the CommitLogAllocator and that magic flag ;) We discussed elsewhere that this patch will enforce a commit segment size (128MB) limit on the row mutation size, which needs to be communicated to the users via the NEWS or CHANGES files. I also didn't see anything that would catch a mutation that was too large and log an error. This could lead to some pretty nasty behavior if the user attempts to do such a thing. > 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