This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 17d1f49a6fcf72c841e4c86df5d3d41d7f27aac4
Author: Shad Storhaug <[email protected]>
AuthorDate: Thu Dec 9 04:22:51 2021 +0700

    Lucene.Net.Util.LuceneTestCase::NewSearcher(): Added missing event handler 
to stop the TaskScheduler service from accepting new work
---
 .../Util/LuceneTestCase.cs                         | 31 +++++++++++-----------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs 
b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index 99b4d81..4a3292e 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -2433,7 +2433,7 @@ namespace Lucene.Net.Util
             else
             {
                 int threads = 0;
-                TaskScheduler ex;
+                LimitedConcurrencyLevelTaskScheduler ex;
                 if (random.NextBoolean())
                 {
                     ex = null;
@@ -2452,7 +2452,7 @@ namespace Lucene.Net.Util
                     {
                         Console.WriteLine("NOTE: newSearcher using 
ExecutorService with " + threads + " threads");
                     }
-                    //r.AddReaderClosedListener(new 
ReaderClosedListenerAnonymousClass(ex)); // LUCENENET TODO: Implement event 
(see the commented ReaderClosedListenerAnonymousClass class near the bottom of 
this file)
+                    r.AddReaderClosedListener(new 
ReaderClosedListenerAnonymousClass(ex));
                 }
                 IndexSearcher ret;
                 if (wrapWithAssertions)
@@ -3655,20 +3655,21 @@ namespace Lucene.Net.Util
         {
             return Random.NextGaussian();
         }
-    }
 
-    //private class ReaderClosedListenerAnonymousClass : 
IndexReader.IReaderClosedListener
-    //{
-    //    private TaskScheduler ex;
+        private class ReaderClosedListenerAnonymousClass : 
IndexReader.IReaderClosedListener
+        {
+            private readonly LimitedConcurrencyLevelTaskScheduler ex;
 
-    //    public ReaderClosedListenerAnonymousClass(TaskScheduler ex)
-    //    {
-    //        this.ex = ex;
-    //    }
+            public 
ReaderClosedListenerAnonymousClass(LimitedConcurrencyLevelTaskScheduler ex)
+            {
+                this.ex = ex;
+            }
 
-    //    public void OnClose(IndexReader reader)
-    //    {
-    //        TestUtil.ShutdownExecutorService(ex);
-    //    }
-    //}
+            public void OnClose(IndexReader reader)
+            {
+                ex?.Shutdown();
+                //TestUtil.ShutdownExecutorService(ex);
+            }
+        }
+    }
 }
\ No newline at end of file

Reply via email to