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 C0B5717BF4 for ; Thu, 5 Feb 2015 14:10:34 +0000 (UTC) Received: (qmail 93700 invoked by uid 500); 5 Feb 2015 14:10:34 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 93656 invoked by uid 500); 5 Feb 2015 14:10:34 -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 93644 invoked by uid 99); 5 Feb 2015 14:10:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Feb 2015 14:10:34 +0000 Date: Thu, 5 Feb 2015 14:10:34 +0000 (UTC) From: "Stefan Podkowinski (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (CASSANDRA-8745) Ambiguous WriteTimeoutException during atomic batch execution MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Stefan Podkowinski created CASSANDRA-8745: --------------------------------------------- Summary: Ambiguous WriteTimeoutException during atomic batch execution Key: CASSANDRA-8745 URL: https://issues.apache.org/jira/browse/CASSANDRA-8745 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.1.x Reporter: Stefan Podkowinski StorageProxy will handle atomic batches in mutateAtomically() the following way: * syncWriteToBatchlog() <- WriteTimeoutException * syncWriteBatchedMutations() <- WriteTimeoutException * asyncRemoveFromBatchlog() All WriteTimeoutExceptions for syncWrite will be catched and passed to the caller. Unfortunately the caller will not be able to tell if the timeout occured while creating/sending the batchlog or executing the individual batch statements. # Timeout during batchlog creation: client must retry operation or batch might be lost # Timout during mutations: client should not retry as a new batchlog will be created on every StorageProxy.mutateAtomically() call while previous batchlogs would not be deleted. This can have performance implications for large batches on stressed out clusters There should be a way to tell if a batchlog was successfully created, so we can let the client move on and assume batch execution based on batchlog at some point in the future. See also CASSANDRA-8672 for similar error handling issue -- This message was sent by Atlassian JIRA (v6.3.4#6332)