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

Francisco Guerrero updated CASSANDRA-21645:
-------------------------------------------
    Status: Needs Committer  (was: Patch Available)

> Use MPSC queue in native transport flusher
> ------------------------------------------
>
>                 Key: CASSANDRA-21645
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21645
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Messaging/Client
>            Reporter: Dmitry Konstantinov
>            Assignee: Dmitry Konstantinov
>            Priority: Normal
>             Fix For: 6.0.x, 7.0
>
>         Attachments: mpsc_flusher_after_cpu.html, mpsc_flusher_before_cpu.html
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> org.apache.cassandra.transport.Flusher#queued is consumed by single thread - 
> Netty even loop thread responsible for the correspondent channel handling, so 
> we can replace ConcurrentLinkedQueue with more specialized version such as 
> org.jctools.queues.MpscUnboundedArrayQueue. It also remove an allocation 
> present for ConcurrentLinkedQueue.
> CPU usage in flamegraph ("Flusher\.enqueue" pattern), before: 1.17%, after: 
> 0.46% 
>  [^mpsc_flusher_before_cpu.html] 
>  [^mpsc_flusher_after_cpu.html] 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to