NightOwl888 opened a new pull request #444: URL: https://github.com/apache/lucenenet/pull/444
This reverts the changes to locking in `FieldCacheImpl` that were introduced to attempt to reduce locking. It is clear that we need to rule out concurrency differences from Lucene such as this in order to get to the bottom of our locking contention issues during testing. The 2 main things that were changed were: 1. Restore locks back to the Lucene 4.8.0 state, including replacing some missing locks. 2. Changed from using `ConcurrentDictionary<TKey, TValue>` back to `Dictionary<TKey, TValue>` because it adds unnecessary overhead. As for #272, much of the locking contention has been reduced by using `ConditionalWeakTable<TKey, TValue>` rather than `WeakDictionary<TKey, TValue>` in .NET Standard 2.1+. In addition, we have made several other performance improvements since the report, which should also help to reduce locking in `FieldCacheImpl::Get()`. ---------------------------------------------------------------- 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: [email protected]
