cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-9379) Use a collection supporting more efficient removal in Ref.GlobalState
Date Thu, 14 May 2015 08:25:00 GMT
Benedict created CASSANDRA-9379:
-----------------------------------

             Summary: Use a collection supporting more efficient removal in Ref.GlobalState
                 Key: CASSANDRA-9379
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9379
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Benedict
            Priority: Minor


Ref is intended only to be used in places where there are very few Ref instances against a
given object extant at any moment, so this collection does not need to be performant. But
to avoid performance regressions, such as accidentally introduced in CASSANDRA-8897 (but avoidable
via the scaling back of Ref use, since no longer necessary), we could use a collection that
supports more efficient removal.

I would prefer, however, not to use either of CHM or NBHM, since both are heavyweight objects,
wasting a lot of heap; the former is also blocking, and the latter could be problematic for
this kind of workload, since it can leave references present in the map after a deletion.
The most suitable structure is the one I blogged about [here|http://belliottsmith.com/eventual-consistency-concurrent-data-structures/]
and have on github [here|https://github.com/belliottsmith/bes-utils/blob/master/src/bes/concurrent/collections/SimpleCollection.java],
since it offers lock-free append and wait-free removal, and ensures space utilization is as
low as possible.

Thoughts/opinions?



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

Mime
View raw message