[
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]