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

Paulo Motta updated CASSANDRA-11713:
------------------------------------
    Description: 
Thread dumps are very useful for troubleshooting thread pool contention issues 
like CASSANDRA-11363 and CASSANDRA-11529.

While they could be generated externally with {{jstack}}, sometimes the 
conditions are transient and it's hard to catch the exact moment when they 
happen, so it could be useful to generate and log them upon user request when 
certain internal condition happens.

I propose adding a {{logThreadDumpOnNextContention}} flag to {{SEPExecutor}} 
and {{JMXEnabledThreadPoolExecutor}} that when enabled via JMX generates and 
logs a single thread dump on the system log when the thread pool queue is full.

  was:
Thread dumps are very useful for troubleshooting thread pool contention issues 
like CASSANDRA-11363 and CASSANDRA-11529.

While they could be generated externally with {{jstack}}, sometimes the 
conditions are transient and it's hard to catch the exact moment when they 
happen, so it could be useful to generate and log them upon user request when 
certain internal condition happens.

I propose adding a {{logThreadDumpOnNextContention}} JMX flag to 
{{SEPExecutor}} and {{JMXEnabledThreadPoolExecutor}} that when enabled 
generates and logs a single thread dump on the system log when the thread pool 
queue is full.


> Add ability to log thread dump when thread pool is full/blocked
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-11713
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11713
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Observability
>            Reporter: Paulo Motta
>            Assignee: Paulo Motta
>            Priority: Minor
>
> Thread dumps are very useful for troubleshooting thread pool contention 
> issues like CASSANDRA-11363 and CASSANDRA-11529.
> While they could be generated externally with {{jstack}}, sometimes the 
> conditions are transient and it's hard to catch the exact moment when they 
> happen, so it could be useful to generate and log them upon user request when 
> certain internal condition happens.
> I propose adding a {{logThreadDumpOnNextContention}} flag to {{SEPExecutor}} 
> and {{JMXEnabledThreadPoolExecutor}} that when enabled via JMX generates and 
> logs a single thread dump on the system log when the thread pool queue is 
> full.



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

Reply via email to