[
https://issues.apache.org/jira/browse/LUCENENET-636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shad Storhaug closed LUCENENET-636.
-----------------------------------
Resolution: Abandoned
Moved to GitHub: https://github.com/apache/lucenenet/issues/256
> Port ConditionalWeakTable from .NET Core 3.x to .NET Standard 2.0
> -----------------------------------------------------------------
>
> Key: LUCENENET-636
> URL: https://issues.apache.org/jira/browse/LUCENENET-636
> Project: Lucene.Net
> Issue Type: Task
> Components: Lucene.Net Core, Lucene.Net.Facet, Lucene.Net.Spatial,
> Lucene.Net.TestFramework
> Affects Versions: Lucene.Net 4.8.0
> Reporter: Shad Storhaug
> Priority: Major
> Labels: help-wanted, up-for-grabs
> Original Estimate: 8h
> Remaining Estimate: 8h
>
> As per LUCENENET-610, the WeakDictionary that has been created to support
> FieldCache and a few other Lucene.NET features does not perform well enough
> in highly concurrent environments.
> The [ConditionalWeakTable<TKey,
> TValue>|https://docs.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.conditionalweaktable-2]
> is a suitable replacement on .NET Standard 2.1, but on .NET Standard 2.0, it
> doesn't expose the enumerator or the {{AddOrUpdate}} method. All of
> Lucene.NET's usages require one or the other.
> So, it would definitely be worth the effort to port the full implementation
> to .NET Standard 2.0.
> This port should be added to [J2N|https://github.com/NightOwl888/J2N] in the
> {{J2N.Runtime.CompilerServices}} namespace (to match .NET's namespace
> convention).
--
This message was sent by Atlassian Jira
(v8.20.1#820001)