Mark Harwood 37a060c15c Additional thread safety around filter creation - old code could create duplicate CachingWrapperFilter if thread1 gets cache miss and thread 2 has a cache miss before thread1 populates cache with new CachingWrapperFilter.
Synchronization cost around whole method is OK here because Filter object construction should be a lightweight call. 
Note: CachingWrapperFilter currently has a similar bug in bits() method but adding "synchronized" around that whole method would not be a solution there because of the cost of evaluating filter.bits and the unnecessary blocking effect this would have on threads using different readers to the thread with the lock.

 

git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@628921 13f79535-47bb-0310-9956-ffa450edef68
2008-02-18 23:39:12 +00:00
..
2008-02-07 15:33:02 +00:00
2008-02-04 13:31:02 +00:00