Lucene.Net.Core.Search.SearcherLifetimeManager: Fixed potential keynotfound bug in Acquire() method
Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/f2751a4b Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/f2751a4b Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/f2751a4b Branch: refs/heads/api-work Commit: f2751a4b7b02b86a97696f702a3af10e3cf71455 Parents: 3e43fb2 Author: Shad Storhaug <[email protected]> Authored: Wed Mar 1 23:14:44 2017 +0700 Committer: Shad Storhaug <[email protected]> Committed: Thu Mar 2 08:08:47 2017 +0700 ---------------------------------------------------------------------- src/Lucene.Net.Core/Search/SearcherLifetimeManager.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucenenet/blob/f2751a4b/src/Lucene.Net.Core/Search/SearcherLifetimeManager.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Core/Search/SearcherLifetimeManager.cs b/src/Lucene.Net.Core/Search/SearcherLifetimeManager.cs index 60ab5ff..d6e2154 100644 --- a/src/Lucene.Net.Core/Search/SearcherLifetimeManager.cs +++ b/src/Lucene.Net.Core/Search/SearcherLifetimeManager.cs @@ -191,8 +191,8 @@ namespace Lucene.Net.Search public virtual IndexSearcher Acquire(long version) { EnsureOpen(); - SearcherTracker tracker = _searchers[version]; // LUCENENET TODO: Throws exception when non-match instead of returning null - if (tracker != null && tracker.Searcher.IndexReader.TryIncRef()) + SearcherTracker tracker; + if (_searchers.TryGetValue(version, out tracker) && tracker != null && tracker.Searcher.IndexReader.TryIncRef()) { return tracker.Searcher; }
