[ 
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)

Reply via email to