[ 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)