You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2012/10/29 17:16:12 UTC

[jira] [Updated] (CASSANDRA-4699) Add TRACE support to binary protocol

     [ https://issues.apache.org/jira/browse/CASSANDRA-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sylvain Lebresne updated CASSANDRA-4699:
----------------------------------------

    Attachment: 0002-Add-tracing-to-protocol.txt
                0001-Separate-ClientState-and-QueryState.txt

Attaching 2 patches for this. The first one is not directly related to tracing but is preparatory. The thing is that tracing uses ClientState to store the tracing UUID if the next query must be traced. However, the binary protocol is asynchronous and you can have more than one query per connection at the same time. In other words, ClientState applies to the connection, but that's too coarse grained for the binary protocol. In fact, that's a problem even before tracing because ClientState.getTimestamp() is kind of broken for the binary protocol (in fact that getTimestamp() "bug" is probably the main reason for fixing this, tracing could do without this tbh). Anyway, that first patch splits ClientState into a ClientState per-connection and a QueryState per-query (again, same for thrift, not so for binary proto). This also allow keeping a few things that are thrift only (like the CQL2 prepared statements) out of the binary protocol path, which is a bonus.

The 2nd patch adds the tracing bits. I'll suggest putting that in 1.2 (rather than 1.2.1) because I'm not looking forward in breaking the protocol in the first minor release of 1.2.
                
> Add TRACE support to binary protocol
> ------------------------------------
>
>                 Key: CASSANDRA-4699
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4699
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>    Affects Versions: 1.2.0 beta 1
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>             Fix For: 1.2.0
>
>         Attachments: 0001-Separate-ClientState-and-QueryState.txt, 0002-Add-tracing-to-protocol.txt
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira