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

Dmitry Konstantinov updated CASSANDRA-20366:
--------------------------------------------
    Description: 
I have re-watched recently [https://youtu.be/M9o1LVfGp2A?t=1595] and it reminds 
me about GC nepotism issue, it makes sense to check if the current queue-like 
structures which we use currently in Cassandra (like: 
org.apache.cassandra.net.ManyToOneConcurrentLinkedQueue) do not suffer from it.

[https://github.com/openjdk/jdk/blob/jdk-25%2B11/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java]
 here to avoid this issue we use the trick of linking a Node that has just been 
dequeued to itself.

See also: 
[https://psy-lob-saw.blogspot.com/2016/03/gc-nepotism-and-linked-queues.html]

  was:
I have re-watched recently [https://youtu.be/M9o1LVfGp2A?t=1595] and it reminds 
me about GC nepotism issue, it makes sense to check if the current queue-like 
structures which we use currently in Cassandra (like: 
org.apache.cassandra.net.ManyToOneConcurrentLinkedQueue) do not suffer from it.

[https://github.com/openjdk/jdk/blob/jdk-25%2B11/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java#L293]
 here to avoid this issue we use the trick of linking a Node that has just been 
dequeued to itself.

See also: 
[https://psy-lob-saw.blogspot.com/2016/03/gc-nepotism-and-linked-queues.html]


> Check if queues used within Cassandra code may suffer from GC nepotism
> ----------------------------------------------------------------------
>
>                 Key: CASSANDRA-20366
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20366
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Local/Other
>            Reporter: Dmitry Konstantinov
>            Priority: Low
>
> I have re-watched recently [https://youtu.be/M9o1LVfGp2A?t=1595] and it 
> reminds me about GC nepotism issue, it makes sense to check if the current 
> queue-like structures which we use currently in Cassandra (like: 
> org.apache.cassandra.net.ManyToOneConcurrentLinkedQueue) do not suffer from 
> it.
> [https://github.com/openjdk/jdk/blob/jdk-25%2B11/src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java]
>  here to avoid this issue we use the trick of linking a Node that has just 
> been dequeued to itself.
> See also: 
> [https://psy-lob-saw.blogspot.com/2016/03/gc-nepotism-and-linked-queues.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