lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nightowl...@apache.org
Subject [lucenenet] 06/35: BREAKING: Lucene.Net.Support.Threading: Deleted unused DisposableThreadLocalProfiler
Date Sun, 09 Feb 2020 06:15:58 GMT
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 30efa4454f62fc731141fe6da2e907bdac9c0dc5
Author: Shad Storhaug <shad@shadstorhaug.com>
AuthorDate: Thu Feb 6 20:32:01 2020 +0700

    BREAKING: Lucene.Net.Support.Threading: Deleted unused DisposableThreadLocalProfiler
---
 .../Support/Threading/TestCloseableThreadLocal.cs  | 116 ---------------------
 .../Threading/CloseableThreadLocalProfiler.cs      |  45 --------
 2 files changed, 161 deletions(-)

diff --git a/src/Lucene.Net.Tests/Support/Threading/TestCloseableThreadLocal.cs b/src/Lucene.Net.Tests/Support/Threading/TestCloseableThreadLocal.cs
deleted file mode 100644
index 9f9e573..0000000
--- a/src/Lucene.Net.Tests/Support/Threading/TestCloseableThreadLocal.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-using Lucene.Net.Analysis;
-using Lucene.Net.Attributes;
-using Lucene.Net.Codecs;
-using Lucene.Net.Documents;
-using Lucene.Net.Index;
-using Lucene.Net.Search;
-using Lucene.Net.Store;
-using Lucene.Net.Util;
-using NUnit.Framework;
-using System;
-using Version = Lucene.Net.Util.LuceneVersion;
-
-#pragma warning disable 612, 618
-namespace Lucene.Net.Support.Threading
-{
-    [SuppressCodecs("Lucene3x")] // Suppress non-writable codecs
-    [TestFixture]
-    public class TestCloseableThreadLocal : LuceneTestCase
-    {
-        [Test, LuceneNetSpecific]
-        public void TestMemLeakage()
-        {
-            DisposableThreadLocalProfiler.EnableIDisposableThreadLocalProfiler = true;
-
-            int LoopCount = 100;
-            Analyzer[] analyzers = new Analyzer[LoopCount];
-            RAMDirectory[] dirs = new RAMDirectory[LoopCount];
-            IndexWriter[] indexWriters = new IndexWriter[LoopCount];
-
-            System.Threading.Tasks.Parallel.For(0, LoopCount, (i) =>
-                                                                  {
-                                                                      analyzers[i] = new
Lucene.Net.Analysis.Standard.StandardAnalyzer(Version.LUCENE_CURRENT);
-                                                                      dirs[i] = new RAMDirectory();
-                                                                      var conf = new IndexWriterConfig(Version.LUCENE_CURRENT,
analyzers[i]);
-                                                                      indexWriters[i] = new
IndexWriter(dirs[i], conf /*analyzers[i], true, IndexWriter.MaxFieldLength.UNLIMITED*/);
-                                                                  });
-
-            System.Threading.Tasks.Parallel.For(0, LoopCount, (i) =>
-                                                                  {
-                                                                      Document document =
new Document();
-                                                                      document.Add(new Field("field",
"some test", Field.Store.NO, Field.Index.ANALYZED));
-                                                                      indexWriters[i].AddDocument(document);
-                                                                  });
-
-            System.Threading.Tasks.Parallel.For(0, LoopCount, (i) =>
-                                                                  {
-                                                                      analyzers[i].Dispose();
-                                                                      indexWriters[i].Dispose();
-                                                                  });
-
-            System.Threading.Tasks.Parallel.For(0, LoopCount, (i) =>
-                                                                  {
-                                                                      using (IndexReader
reader = DirectoryReader.Open(dirs[i]))
-                                                                      {
-                                                                          IndexSearcher searcher
= new IndexSearcher(reader);
-                                                                          TopDocs d = searcher.Search(new
TermQuery(new Term("field", "test")), 10);
-                                                                      }
-                                                                  });
-
-            System.Threading.Tasks.Parallel.For(0, LoopCount, (i) => dirs[i].Dispose());
-
-            GC.Collect(GC.MaxGeneration);
-            GC.WaitForPendingFinalizers();
-
-            int aliveObjects = 0;
-            foreach (WeakReference w in DisposableThreadLocalProfiler.Instances)
-            {
-                object o = w.Target;
-                if (o != null) aliveObjects++;
-            }
-
-            DisposableThreadLocalProfiler.EnableIDisposableThreadLocalProfiler = false;
-
-            Assert.AreEqual(0, aliveObjects);
-        }
-    }
-}
-
-#if NET35
-
-namespace System.Threading.Tasks
-{
-    public static class Parallel
-    {
-        public static void For(int start, int end, Action<int> loopAction)
-        {
-            for(int i = start; i < end; i++)
-            {
-                loopAction(i);
-            }
-        }
-    }
-}
-#pragma warning restore 612, 618
-#endif
\ No newline at end of file
diff --git a/src/Lucene.Net/Support/Threading/CloseableThreadLocalProfiler.cs b/src/Lucene.Net/Support/Threading/CloseableThreadLocalProfiler.cs
deleted file mode 100644
index 8423793..0000000
--- a/src/Lucene.Net/Support/Threading/CloseableThreadLocalProfiler.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-using System;
-
-namespace Lucene.Net.Support.Threading
-{
-    /// <summary>
-    /// For Debuging purposes.
-    /// </summary>
-    public class DisposableThreadLocalProfiler
-    {
-        private static bool _enableIDisposableThreadLocalProfiler = false;
-        public static System.Collections.Generic.List<WeakReference> Instances = new
System.Collections.Generic.List<WeakReference>();
-
-        public static bool EnableIDisposableThreadLocalProfiler
-        {
-            get { return _enableIDisposableThreadLocalProfiler; }
-            set
-            {
-                _enableIDisposableThreadLocalProfiler = value;
-                lock (Instances)
-                    Instances.Clear();
-            }
-        }
-    }
-}
\ No newline at end of file


Mime
View raw message