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 95DA910361 for ; Tue, 31 Dec 2013 21:18:50 +0000 (UTC) Received: (qmail 37114 invoked by uid 500); 31 Dec 2013 21:18:50 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 37040 invoked by uid 500); 31 Dec 2013 21:18:50 -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 37032 invoked by uid 99); 31 Dec 2013 21:18:50 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 31 Dec 2013 21:18:50 +0000 Date: Tue, 31 Dec 2013 21:18:50 +0000 (UTC) From: "Adam Holmberg (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (CASSANDRA-6535) Prepared Statement on Defunct CF Can Impact Cluster Availability MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Adam Holmberg created CASSANDRA-6535: ---------------------------------------- Summary: Prepared Statement on Defunct CF Can Impact Cluster Availability Key: CASSANDRA-6535 URL: https://issues.apache.org/jira/browse/CASSANDRA-6535 Project: Cassandra Issue Type: Bug Components: Core Environment: Cassandra 1.2.12 CentOS 6.4 Reporter: Adam Holmberg *Synopsis:* misbehaving clients can cause DoS on a cluster with a defunct prepared statement *Scenario:* 1.) Create prepared INSERT statement on existing table X 2.) Table X is dropped 3.) Continue using prepared statement from (1) *Result:* a.) on coordinator node: COMMIT-LOG-WRITER + MutationStage errors b.) on other nodes: "UnknownColumnFamilyException reading from socket; closing" --> leads to thrashing inter-node connections c.) Other clients of the cluster suffer from I/O timeouts, presumably a result of (b) *Other observations:* * On single-node clusters, clients return from insert without error because mutation errors are swallowed. * On multiple-node clusters, clients receive a confounded 'read timeout' error because the closed internode connections do not propagate the error back. * With prepared SELECT statements (as opposed to INSERT described above). A NullPointerException is caused on the server, and no meaninful error is returned to the client. Besides the obvious "don't do that" to the integrator, it would be good if the cluster could handle this error case more gracefully and avoid undue impact. -- This message was sent by Atlassian JIRA (v6.1.5#6160)