lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shad Storhaug (Jira)" <>
Subject [jira] [Created] (LUCENENET-636) Port ConditionalWeakTable from .NET Core 3.x to .NET Standard 2.0
Date Fri, 27 Dec 2019 00:55:00 GMT
Shad Storhaug created LUCENENET-636:

             Summary: Port ConditionalWeakTable from .NET Core 3.x to .NET Standard 2.0
                 Key: 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

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>|]
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

So, it would definitely be worth the effort to port the full implementation to .NET Standard

This port should be added to [J2N|] in the {{J2N.Runtime.CompilerServices}}
namespace (to match .NET's namespace convention).

This message was sent by Atlassian Jira

View raw message