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 C1DED1763F for ; Fri, 17 Oct 2014 10:39:39 +0000 (UTC) Received: (qmail 950 invoked by uid 500); 17 Oct 2014 10:39:34 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 906 invoked by uid 500); 17 Oct 2014 10:39: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 894 invoked by uid 99); 17 Oct 2014 10:39:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Oct 2014 10:39:34 +0000 Date: Fri, 17 Oct 2014 10:39:34 +0000 (UTC) From: "Aleksey Yeschenko (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (CASSANDRA-8054) EXECUTE request with skipMetadata=false gets no metadata in response 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-8054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko resolved CASSANDRA-8054. ------------------------------------------ Resolution: Fixed Fix Version/s: (was: 2.0.11) Assignee: Sylvain Lebresne (was: Aleksey Yeschenko) True. Removing 2.0.11 fixver and resolving, then. A cleaner fix can wait so long as everything works. > EXECUTE request with skipMetadata=false gets no metadata in response > -------------------------------------------------------------------- > > Key: CASSANDRA-8054 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8054 > Project: Cassandra > Issue Type: Bug > Components: Core > Reporter: Olivier Michallat > Assignee: Sylvain Lebresne > Fix For: 2.1.1 > > Attachments: 8054-2.1.txt, 8054-fix.txt, 8054-v2.txt > > > This has been reported independently with the [Java|https://datastax-oss.atlassian.net/browse/JAVA-482] and [C++|https://datastax-oss.atlassian.net/browse/CPP-174] drivers. > This happens under heavy load, where multiple client threads prepare and execute statements in parallel. One of them sends an EXECUTE request with skipMetadata=false, but the returned ROWS response has no metadata in it. > A patch of {{Message.Dispatcher.channelRead0}} confirmed that the flag was incorrectly set on the response: > {code} > logger.debug("Received: {}, v={}", request, connection.getVersion()); > boolean skipMetadataOnRequest = false; > if (request instanceof ExecuteMessage) { > ExecuteMessage execute = (ExecuteMessage)request; > skipMetadataOnRequest = execute.options.skipMetadata(); > } > response = request.execute(qstate); > if (request instanceof ExecuteMessage) { > Rows rows = (Rows)response; > boolean skipMetadataOnResponse = rows.result.metadata.flags.contains(Flag.NO_METADATA); > if (skipMetadataOnResponse != skipMetadataOnRequest) { > logger.warn("Inconsistent skipMetadata on streamId {}, was {} in request but {} in response", > request.getStreamId(), > skipMetadataOnRequest, > skipMetadataOnResponse); > } > } > {code} > We observed the warning with (false, true) during our tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)