cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-7807) Push notification when tracing completes for an operation
Date Mon, 30 Mar 2015 09:06:53 GMT

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

Robert Stupp updated CASSANDRA-7807:
------------------------------------
    Attachment: 7807-v4.txt

Proabilistic tracing:
Nope - that was my first thought (check on {{connection==null}}).
But it goes via code paths like this in {{QueryMessage}}:
{code}
            if (isTracingRequested())
            {
                tracingId = UUIDGen.getTimeUUID();
                state.prepareTracingSession(tracingId);
            }

            if (state.traceNextQuery())
            {
                state.createTracingSession(connection);
{code}
And with {{state.createTracingSession(connection);}} it has a connection reference. Problem
is that {{isTracingRequested}} returns true for both probabilistic and explicit tracing.
We could add an _if (probabilisticTracing) { pass null connection reference }_ (and omit the
additional boolean) but it looks ugly to me - and the meaning of _connection==null_ for trace-complete
event wouldn’t be clear.

TransportException:
Reason for relying on {{RuntimeException}} is CASSANDRA-8560 in which we made {{CassandraException}}
an unchecked exception. But you’re right - better leave it as is for now and clean it up
in CASSANDRA-8809.

debug-cql:
Yes - exactly this exception. Its origin in somewhere in the JMX implementation code. (No
clue why the JMX code just cannot say, that it failed to bind.)
Opened CASSANDRA-9069 for this. It doesn’t fail with 2.0 and 2.1 - so it looks like a change
on trunk broke it.

> Push notification when tracing completes for an operation
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-7807
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7807
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Robert Stupp
>            Priority: Minor
>              Labels: client-impacting, protocolv4
>             Fix For: 3.0
>
>         Attachments: 7807-v2.txt, 7807-v3.txt, 7807-v4.txt, 7807.txt
>
>
> Tracing is an asynchronous operation, and drivers currently poll to determine when the
trace is complete (in a loop with sleeps).  Instead, the server could push a notification
to the driver when the trace completes.
> I'm guessing that most of the work for this will be around pushing notifications to a
single connection instead of all connections that have registered listeners for a particular
event type.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message