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

Aleksey Yeschenko commented on CASSANDRA-14523:
-----------------------------------------------

bq. Keeping the partition ordered by their partition key natural order is in my 
opinion an advantage for the virtual tables.

Sure, sounds like a good idea. Should do it in a different ticket though (for 
other tables), but in this ticket for {{thread_pools}}.

bq. I noticed that the patch reformat the name of the pools for exposing them 
in the virtual table. We should probably keep the original name as it is a bit 
confusing if other tools and logs display a different name.

Agreed that we should leave the names untransformed by the virtual tables. I'm 
not against the idea of giving thread pools consistent names in 4.0, though, in 
a separate ticket.

Separately, I'm with [~cnlwsu] here re: simply using the existing {{DataSet}} 
here. We have a tiny number of thread pools and it's in my opinion not worth 
it, here, to complicate things with a semi-persistent implementation.

That said, what I'm not a huge fan of is having to query JMX for names, then 
building column values from metrics. It's not dissimilar to serializing things 
into maps then deserializing back for consumption by the virtual tables. We 
should be dealing with {{LocalAwareExecutorService}} instances directly instead 
of going through jmx, then through metrics. This is not some external code 
after all.

The closest we currently have is {{StageManager.stages}} map, but not every 
thread pool is in there. I wonder if we should either put the relevant thread 
pools that aren't currently in the stages map in there, or have a different 
registry somewhere for all executors.

I started a branch 
[here|https://github.com/iamaleksey/cassandra/tree/14523-review] - so far with 
just some cleanups and nits, but I'm half-way through with coding up what I 
meant above. Will update the ticket once I'm done.

> Thread pool stats virtual table
> -------------------------------
>
>                 Key: CASSANDRA-14523
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14523
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Chris Lohfink
>            Assignee: Chris Lohfink
>            Priority: Minor
>              Labels: virtual-tables
>             Fix For: 4.x
>
>
> Expose the thread pools like in status logger/tpstats. Additionally be nice 
> to include the scheduled executor pools that are currently unmonitored.
> {code:java}
> cqlsh> select * from system_views.thread_pools;
>  thread_pool                      | active | active_max | completed | pending 
> | tasks_blocked | total_blocked
> ----------------------------------+--------+------------+-----------+---------+---------------+---------------
>                anti_entropy_stage |      0 |          1 |         0 |       0 
> |             0 |             0
>            cache_cleanup_executor |      0 |          1 |         0 |       0 
> |             0 |             0
>               compaction_executor |      0 |          4 |        41 |       0 
> |             0 |             0
>            counter_mutation_stage |      0 |         32 |         0 |       0 
> |             0 |             0
>                      gossip_stage |      0 |          1 |         0 |       0 
> |             0 |             0
>                  hints_dispatcher |      0 |          2 |         0 |       0 
> |             0 |             0
>           internal_response_stage |      0 |          8 |         0 |       0 
> |             0 |             0
>             memtable_flush_writer |      0 |          2 |         5 |       0 
> |             0 |             0
>               memtable_post_flush |      0 |          1 |        20 |       0 
> |             0 |             0
>           memtable_reclaim_memory |      0 |          1 |         5 |       0 
> |             0 |             0
>                   migration_stage |      0 |          1 |         0 |       0 
> |             0 |             0
>                        misc_stage |      0 |          1 |         0 |       0 
> |             0 |             0
>                    mutation_stage |      0 |         32 |       247 |       0 
> |             0 |             0
>         native_transport_requests |      1 |        128 |        28 |       0 
> |             0 |             0
>          pending_range_calculator |      0 |          1 |         2 |       0 
> |             0 |             0
>  per_disk_memtable_flush_writer_0 |      0 |          2 |         5 |       0 
> |             0 |             0
>                 read_repair_stage |      0 |          8 |         0 |       0 
> |             0 |             0
>                        read_stage |      0 |         32 |        13 |       0 
> |             0 |             0
>                       repair_task |      0 | 2147483647 |         0 |       0 
> |             0 |             0
>            request_response_stage |      0 |          8 |         0 |       0 
> |             0 |             0
>                           sampler |      0 |          1 |         0 |       0 
> |             0 |             0
>              scheduled_fast_tasks |      0 | 2147483647 |      1398 |       1 
> |             0 |             0
>               scheduled_heartbeat |      0 | 2147483647 |        14 |       1 
> |             0 |             0
>         scheduled_hotness_tracker |      0 | 2147483647 |         0 |       1 
> |             0 |             0
>      scheduled_non_periodic_tasks |      0 | 2147483647 |        10 |       0 
> |             0 |             0
>          scheduled_optional_tasks |      0 | 2147483647 |         5 |       8 
> |             0 |             0
>         scheduled_summary_builder |      0 | 2147483647 |         0 |       1 
> |             0 |             0
>                   scheduled_tasks |      0 | 2147483647 |       194 |      74 
> |             0 |             0
>        secondary_index_management |      0 |          1 |         0 |       0 
> |             0 |             0
>               validation_executor |      0 | 2147483647 |         0 |       0 
> |             0 |             0
>               view_build_executor |      0 |          1 |         0 |       0 
> |             0 |             0
>               view_mutation_stage |      0 |         32 |         0 |       0 
> |             0 |             0
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to