cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10031) Name threads for improved ops/debugging
Date Fri, 09 Oct 2015 14:03:27 GMT


Robert Stupp commented on CASSANDRA-10031:

Note: some profilers (at least JProfiler) get "annoyed" if thread names change as they intercept
that change (calls to {{Thread.setName()}} to track threads. So I'd be careful with that change
- especially when it comes to very frequent changes. It also produces additional heap pressure.
(TBC: I won't fight against a change just because some profiles get annoyed - that's a problem
of the profiler, not ours).

But giving threads more meaningful names is a good thing in general - just careful with too
frequent changes. So, go ahead ;)

As an idea (no guarantees that it can work), {{Tracing}}/{{TraceSession}} already has (or
could get) meaningful information that could help with debugging. But it might be too expensive
- and, again, it's just a (possibly bad) idea.

> Name threads for improved ops/debugging
> ---------------------------------------
>                 Key: CASSANDRA-10031
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: T Jake Luciani
>            Priority: Minor
>              Labels: lhf
>             Fix For: 3.x
> We currently provide basic names for threads in threads like {{STREAM-IN-1}}  which gives
some basic information about what the job of the thread is.  
> When looking at a log statement or jstack it's helpful to have this context.
> For our work stealing thread pool we share threads across all thread pools so we lose
this insight.  
> I'd like to propose we start using the Thread.currentThread().setName("")
> In different aspects of the code to improve insight as to what cassandra is doing at
any given moment.
>    * At a minimum in the start of each run() method.
>   Ideally for much finer grain things.
>    * In compaction include the partition name currently being working on.  
>    * In SP include the client ip
> Etc...

This message was sent by Atlassian JIRA

View raw message