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 E41491040D for ; Tue, 25 Feb 2014 02:28:28 +0000 (UTC) Received: (qmail 40648 invoked by uid 500); 25 Feb 2014 02:28:20 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 40593 invoked by uid 500); 25 Feb 2014 02:28:19 -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 40570 invoked by uid 99); 25 Feb 2014 02:28:19 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Feb 2014 02:28:19 +0000 Date: Tue, 25 Feb 2014 02:28:19 +0000 (UTC) From: "John Carrino (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes 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-6764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] John Carrino updated CASSANDRA-6764: ------------------------------------ Attachment: cassandra_6764_v2.patch > Using Batch commitlog_sync is slow and doesn't actually batch writes > -------------------------------------------------------------------- > > Key: CASSANDRA-6764 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6764 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: John Carrino > Fix For: 1.2.16 > > Attachments: cassandra_6764_v2.patch > > > The assumption behind batch commit mode is that the client does it's own batching and wants to wait until the write is durable before returning. The problem is that the queue that cassandra uses under the covers only allows for a single ROW (RowMutation) per thread (concurrent_writes). This means that commitlog_sync_batch_window_in_ms should really be called sleep_between each_concurrent_writes_rows_in_ms. > I assume the reason this slipped by for so long is that no one uses batch mode, probably because people say "it's slow". We need durability so this isn't an option. > However it doesn't need to be this slow. > Also, if you write a row that is larger than the commit log size it silently (warn) fails to put it in the commit log. This is not ideal for batch mode. -- This message was sent by Atlassian JIRA (v6.1.5#6160)