You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Folke Behrens (JIRA)" <ji...@apache.org> on 2010/08/04 04:49:18 UTC

[jira] Created: (CASSANDRA-1355) Log RPC exceptions and timing data

Log RPC exceptions and timing data
----------------------------------

                 Key: CASSANDRA-1355
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
    Affects Versions: 0.7.0
            Reporter: Folke Behrens
            Priority: Minor
             Fix For: 0.7.0


Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.

This extra layer would actually be a good place for authentication and authorization as well.

Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1355) Log RPC exceptions and timing data

Posted by "Folke Behrens (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Folke Behrens updated CASSANDRA-1355:
-------------------------------------

    Attachment: ftrace.000.traces.bz2

Very nice reads. You really talked me into writing my own tracing tool with my very first ClassFileTransformer. Attached textfile shows one of Cassandra's tests. The numbers on the left is the time in microseconds. 10 mio. means that the thread never stopped or the method was somehow never left. The traces are still raw but I already have a few optimization ideas, like time accumulation, filtering out fast methods and estimating the time where it couldn't be calculated.

There are probably tons of profilers with selective tracing out there but this was really fun. Nevertheless, my original point still stands, methods should be logged before they leave.

> Log RPC exceptions and timing data
> ----------------------------------
>
>                 Key: CASSANDRA-1355
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Folke Behrens
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: 0001-RPCLogger.patch, 0002-conditional-wrapping.patch.txt, ftrace.000.traces.bz2
>
>
> Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.
> This extra layer would actually be a good place for authentication and authorization as well.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1355) Log RPC exceptions and timing data

Posted by "Folke Behrens (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Folke Behrens updated CASSANDRA-1355:
-------------------------------------

    Attachment: 0002-conditional-wrapping.patch.txt

That's the point. Don't do it client-side. Don't trust the client, the network and the RPC service. E.g., for CASSANDRA-1235 I had to add and alter logging messages to find the culprit. 

Patch 0002 adds a static wrap() method that wraps CassandraServer only if debug logging is enabled at start-up. Now it's useful in a non-intrusive way.

> Log RPC exceptions and timing data
> ----------------------------------
>
>                 Key: CASSANDRA-1355
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Folke Behrens
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 0001-RPCLogger.patch, 0002-conditional-wrapping.patch.txt
>
>
> Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.
> This extra layer would actually be a good place for authentication and authorization as well.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1355) Log RPC exceptions and timing data

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1355:
--------------------------------------

        Fix Version/s: 0.7.1
                           (was: 0.7.0)
    Affects Version/s:     (was: 0.7.0)

> Log RPC exceptions and timing data
> ----------------------------------
>
>                 Key: CASSANDRA-1355
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Folke Behrens
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: 0001-RPCLogger.patch, 0002-conditional-wrapping.patch.txt
>
>
> Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.
> This extra layer would actually be a good place for authentication and authorization as well.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1355) Log RPC exceptions and timing data

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895361#action_12895361 ] 

Jonathan Ellis commented on CASSANDRA-1355:
-------------------------------------------

It sounds like you are trying to attack the same problem as https://issues.apache.org/jira/browse/CASSANDRA-1123 and https://issues.apache.org/jira/browse/CASSANDRA-1305.  If so, I think those approaches are more useful.

> Log RPC exceptions and timing data
> ----------------------------------
>
>                 Key: CASSANDRA-1355
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Folke Behrens
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 0001-RPCLogger.patch, 0002-conditional-wrapping.patch.txt
>
>
> Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.
> This extra layer would actually be a good place for authentication and authorization as well.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1355) Log RPC exceptions and timing data

Posted by "Folke Behrens (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Folke Behrens updated CASSANDRA-1355:
-------------------------------------

    Attachment: 0001-RPCLogger.patch

> Log RPC exceptions and timing data
> ----------------------------------
>
>                 Key: CASSANDRA-1355
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Folke Behrens
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 0001-RPCLogger.patch
>
>
> Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.
> This extra layer would actually be a good place for authentication and authorization as well.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1355) Log RPC exceptions and timing data

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895128#action_12895128 ] 

Jonathan Ellis commented on CASSANDRA-1355:
-------------------------------------------

what is this trying to accomplish that can't be done client-side?

> Log RPC exceptions and timing data
> ----------------------------------
>
>                 Key: CASSANDRA-1355
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1355
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Folke Behrens
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 0001-RPCLogger.patch
>
>
> Attached patch introduces a logger that sits between Cassandra.Processor and CassandraServer. It logs exceptions before they get send to the client and it can output timing and tracing information. Pretty useful.
> This extra layer would actually be a good place for authentication and authorization as well.
> Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.