cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Holmberg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7807) Push notification when tracing completes for an operation
Date Tue, 19 May 2015 17:18:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-7807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14550801#comment-14550801
] 

Adam Holmberg commented on CASSANDRA-7807:
------------------------------------------

I know I'm late to this ticket, but as I began to integrate this feature for the Python driver,
I developed some reservations about its usefulness. I understand the original intent to avoid
polling and eventually simplify trace handling. However, it introduces some complexity supporting
multiple protocol versions, and I'm not sure it will even avoid the need for polling, due
to replication lag.

Here are some of the things taking advantage introduces:
- Extra registration overhead per connection, or dynamically register on first trace
- Extra book-keeping -- trace ID per connection
- New modes of failure (polling is resilient as the cluster)
- Event may arrive before trace data is replicated
- Drivers must still implement polling following event, and for lesser protocol versions

Given the above, I'm not sure it's worth it to implement to save a few polling round-trips,
especially when it's only client-initiated traces (which will typically not be in a hot path).

I'm open to discussion on the matter.

> 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: 2.2.0 beta 1
>
>         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