cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-734) Table.open has a broken lock in it
Date Sat, 23 Jan 2010 04:39:23 GMT

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

Jonathan Ellis commented on CASSANDRA-734:
------------------------------------------

I don't think introducing full synchronized lock into a method called for basically every
operation is a good idea.  We could use nonblockinghashmap for the container instead, which
would take care of the get problem.  (we could just use NBHM with putIfAbsent if Table creation
weren't something we want to avoid doing twice for the same keyspace in case of a race.) 
what do Real Java Programmers do for "singleton cache?"

> Table.open has a broken lock in it
> ----------------------------------
>
>                 Key: CASSANDRA-734
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-734
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.5
>            Reporter: Jeff Hodges
>            Assignee: Jeff Hodges
>            Priority: Minor
>             Fix For: 0.6
>
>         Attachments: broken_lock_in_table_open.patch
>
>
> Table.open's lock is used around the Map#put method call but not the #get. This makes
it a source of spurious bugs. The attached patch synchronizes the entire Table.open method
and removes the unused createLock static.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message