You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by GitBox <gi...@apache.org> on 2021/03/14 01:13:42 UTC

[GitHub] [lucenenet] NightOwl888 opened a new pull request #441: Reviewed concurrent collections (Closes #417)

NightOwl888 opened a new pull request #441:
URL: https://github.com/apache/lucenenet/pull/441


   Combined with #439, this closes #417.
   
   This review included the following collections:
   
   - `LurchTable<TKey, TValue>`
   - `ConcurrentDictionary<TKey, TValue>`
   - `ConcurrentQueue<T>`
   - `ConcurrentStack<T>`
   - `ConcurrentBag<T>`
   - `BlockingCollection<T>`
   
   With the exception of `FieldCacheImpl`, all access to these collections were checked to ensure proper use. Locks were added in cases where they were missing, and collections were swapped for non-synchronized versions in cases where there was no reason to use one. 
   
   There are a few places we use `ConcurrentDictionary<TKey, TValue>` just to take advantage of the fact that its enumerator allows modification of the collection without throwing an exception. `FEATURE_DICTIONARY_REMOVE_CONTINUEENUMERATION` was added so we will be able to use `Dictionary<TKey, TValue>` in .NET 5.x+ because it now supports modification during enumeration also.
   
   There were a few bugs found and fixed with `GetOrAdd` method calls and one found in the `LuceneTestCase` class (the base class for all tests in the TestFramework) which replaced the collection with a concurrent one, but didn't take into account the other related code that was inside of the lock that was removed.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [lucenenet] NightOwl888 merged pull request #441: Reviewed concurrent collections (Closes #417)

Posted by GitBox <gi...@apache.org>.
NightOwl888 merged pull request #441:
URL: https://github.com/apache/lucenenet/pull/441


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org