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 BAA0911FD9 for ; Mon, 15 Sep 2014 15:07:34 +0000 (UTC) Received: (qmail 28844 invoked by uid 500); 15 Sep 2014 15:07:34 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 28809 invoked by uid 500); 15 Sep 2014 15:07: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 28744 invoked by uid 99); 15 Sep 2014 15:07:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Sep 2014 15:07:34 +0000 Date: Mon, 15 Sep 2014 15:07:34 +0000 (UTC) From: "Christian Spriegel (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (CASSANDRA-7886) TombstoneOverwhelmingException should not wait for timeout 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-7886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14133974#comment-14133974 ] Christian Spriegel edited comment on CASSANDRA-7886 at 9/15/14 3:07 PM: ------------------------------------------------------------------------ [~kohlisankalp]: Hi again! Sorry for all the mails, but I just had a look at your 2.1 patch: I think removing the try-catch in ReadVerbHandler should do the trick, right? Then TOEs would be handled by your code in the MessageDeliveryTask? ReadVerbHandler: {code} Row row; - try - { row = command.getRow(keyspace); - } - catch (TombstoneOverwhelmingException e) - { - // error already logged. Drop the request - return; - } {code} Edit: Looking a bit closer, I think its missing a few more pieces. But in my naive mind it does not look like a big protocol change. I would like to hear your opinion. was (Author: christianmovi): [~kohlisankalp]: Hi again! Sorry for all the mails, but I just had a look at your 2.1 patch: I think removing the try-catch in ReadVerbHandler should do the trick, right? Then TOEs would be handled by your code in the MessageDeliveryTask? ReadVerbHandler: {code} Row row; - try - { row = command.getRow(keyspace); - } - catch (TombstoneOverwhelmingException e) - { - // error already logged. Drop the request - return; - } {code} > TombstoneOverwhelmingException should not wait for timeout > ---------------------------------------------------------- > > Key: CASSANDRA-7886 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7886 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Tested with Cassandra 2.0.8 > Reporter: Christian Spriegel > Priority: Minor > Fix For: 3.0 > > > *Issue* > When you have TombstoneOverwhelmingExceptions occuring in queries, this will cause the query to be simply dropped on every data-node, but no response is sent back to the coordinator. Instead the coordinator waits for the specified read_request_timeout_in_ms. > On the application side this can cause memory issues, since the application is waiting for the timeout interval for every request.Therefore, if our application runs into TombstoneOverwhelmingExceptions, then (sooner or later) our entire application cluster goes down :-( > *Proposed solution* > I think the data nodes should send a error message to the coordinator when they run into a TombstoneOverwhelmingException. Then the coordinator does not have to wait for the timeout-interval. -- This message was sent by Atlassian JIRA (v6.3.4#6332)