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

Shai Erera updated LUCENE-2779:
-------------------------------

    Description: 
RAMDirectory synchronizes on its instance in many places to protect access to 
map of RAMFiles, in addition to updating the sizeInBytes member. In many places 
the sync is done for 'read' purposes, while only in few places we need 'write' 
access. This looks like a perfect use case for ConcurrentHashMap

Also, syncing around sizeInBytes is unnecessary IMO, since it's an AtomicLong 
...

I'll post a patch shortly.

  was:
RAMDirectory synchronizes on its instance in many places to protect access to 
map of RAMFiles, in addition to updating the sizeInBytes member. In many places 
the sync is done for 'read' purposes, while only in few places we need 'write' 
access. So I think ReadWriteLock can be useful.

Also, syncing around sizeInBytes is unnecessary IMO, since it's an AtomicLong 
...

I'll post a patch shortly.

        Summary: Use ConcurrentHashMap in RAMDirectory  (was: Use ReadWriteLock 
in RAMDirectory)

Changed title and description to better match the issue's topic.

> Use ConcurrentHashMap in RAMDirectory
> -------------------------------------
>
>                 Key: LUCENE-2779
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2779
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Store
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.1, 4.0
>
>         Attachments: LUCENE-2779.patch
>
>
> RAMDirectory synchronizes on its instance in many places to protect access to 
> map of RAMFiles, in addition to updating the sizeInBytes member. In many 
> places the sync is done for 'read' purposes, while only in few places we need 
> 'write' access. This looks like a perfect use case for ConcurrentHashMap
> Also, syncing around sizeInBytes is unnecessary IMO, since it's an AtomicLong 
> ...
> I'll post a patch shortly.

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


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

Reply via email to