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

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


    from d7a68e4  Lucene.Net.Index.IndexWriter: Removed call to 
ThreadJob.Interrupted() which internally calls Thread.Sleep(0) which was 
causing performance issues and deadlocks during IndexWriter.Dispose()
     new 3144ba7  Removed [Deadlock] attribute from tests that were deadlocking 
due to extra Thread.Sleep(0) call in IndexWriter.Dispose().
     new b1e0eec  SWEEP: Added Lucene.Net.Util.ThreadInterruptedException and 
re-throw it in all of the places that Lucene does.
     new dd89a4f  Lucene.Net.Support.Threading: Created UninterruptableMonitor 
class to handle entering locks without throwing 
System.Threading.ThreadInterruptedException (which is what happens in Java)
     new 19cb0c1  SWEEP: Lucene.Net: Changed all lock statements to 
UninterruptableMonitor.Enter and UninterruptableMonitor.Exit to prevent 
ThreadInterruptedException from occurring when entering a lock.
     new 152ffe6  SWEEP: Lucene.Net.TestFramework: Changed all lock statements 
to UninterruptableMonitor.Enter and UninterruptableMonitor.Exit to prevent 
ThreadInterruptedException from occurring when entering a lock.
     new 7c357e7  SWEEP: Changed all lock statements to 
UninterruptableMonitor.Enter and UninterruptableMonitor.Exit to prevent 
ThreadInterruptedException from occurring when entering a lock.
     new b5ce511  Lucene.Net.Index.DocumentsWriter::UnlockAllAfterAbortAll() 
Added missing when clause on catch block
     new 3dcffb2  Lucene.Net.Tests.Index.TestIndexWriter: Removed [AwaitsFix] 
attribute from TestThreadInterruptDeadlock() and 
TestTwoThreadsInterruptDeadlock(), since they now are passing

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../Analysis/Th/ThaiTokenizer.cs                   |  71 +-
 .../Analysis/Util/AnalysisSPILoader.cs             |   8 +-
 .../Analysis/Util/BufferedCharFilter.cs            |  43 +-
 .../Analysis/Icu/Segmentation/ICUTokenizer.cs      |  26 +-
 .../Tools/NLPChunkerOp.cs                          |   8 +-
 .../Tools/NLPNERTaggerOp.cs                        |   8 +-
 .../Tools/NLPPOSTaggerOp.cs                        |   8 +-
 .../Tools/NLPSentenceDetectorOp.cs                 |   8 +-
 .../Tools/NLPTokenizerOp.cs                        |   8 +-
 .../Hhmm/BigramDictionary.cs                       |   8 +-
 .../Hhmm/WordDictionary.cs                         |   8 +-
 src/Lucene.Net.Benchmark/ByTask/Benchmark.cs       |   8 +-
 .../ByTask/Feeds/AbstractQueryMaker.cs             |   8 +-
 .../ByTask/Feeds/ContentItemsSource.cs             |  15 +-
 .../ByTask/Feeds/DirContentSource.cs               |  15 +-
 .../ByTask/Feeds/EnwikiContentSource.cs            |  79 ++-
 .../ByTask/Feeds/LineDocSource.cs                  |   8 +-
 .../ByTask/Feeds/LongToEnglishContentSource.cs     |  17 +-
 .../ByTask/Feeds/LongToEnglishQueryMaker.cs        |  15 +-
 .../ByTask/Feeds/ReutersContentSource.cs           |  15 +-
 .../ByTask/Feeds/SingleDocSource.cs                |  18 +-
 .../ByTask/Feeds/TrecContentSource.cs              |  15 +-
 src/Lucene.Net.Benchmark/ByTask/PerfRunData.cs     |  57 +-
 src/Lucene.Net.Benchmark/ByTask/Stats/Points.cs    |  22 +-
 .../ByTask/Tasks/NearRealtimeReaderTask.cs         |   1 +
 .../ByTask/Tasks/TaskSequence.cs                   |   1 +
 src/Lucene.Net.Benchmark/ByTask/Tasks/WaitTask.cs  |   3 +-
 .../ByTask/Tasks/WriteLineDocTask.cs               |  15 +-
 .../Memory/DirectDocValuesProducer.cs              |  36 +-
 .../Memory/MemoryDocValuesProducer.cs              |  36 +-
 .../SimpleText/SimpleTextFieldsReader.cs           |   8 +-
 src/Lucene.Net.Facet/FacetsConfig.cs               |  36 +-
 .../Taxonomy/CachedOrdinalsReader.cs               |  15 +-
 .../Taxonomy/Directory/DirectoryTaxonomyWriter.cs  |  92 ++-
 src/Lucene.Net.Facet/Taxonomy/TaxonomyReader.cs    |   8 +-
 .../WriterCache/Cl2oTaxonomyWriterCache.cs         |   8 +-
 .../Taxonomy/WriterCache/LruTaxonomyWriterCache.cs |  36 +-
 .../Taxonomy/WriterCache/NameIntCacheLRU.cs        |   8 +-
 .../AbstractFirstPassGroupingCollector.cs          |  15 +-
 src/Lucene.Net.Misc/Document/LazyDocument.cs       |  15 +-
 .../Surround/Query/BasicQueryFactory.cs            |   8 +-
 .../Xml/Builders/CachedFilterBuilder.cs            |   8 +-
 .../Xml/Builders/UserInputQueryBuilder.cs          |   8 +-
 src/Lucene.Net.Replicator/LocalReplicator.cs       |  50 +-
 src/Lucene.Net.Replicator/ReplicationClient.cs     |  27 +-
 src/Lucene.Net.Suggest/Spell/SpellChecker.cs       |  45 +-
 .../Suggest/Analyzing/AnalyzingInfixSuggester.cs   |   8 +-
 .../Suggest/Fst/FSTCompletionLookup.cs             |  15 +-
 src/Lucene.Net.Suggest/Suggest/Tst/TSTLookup.cs    |  15 +-
 .../Analysis/BaseTokenStreamTestCase.cs            |   1 +
 .../Analysis/MockAnalyzer.cs                       |   8 +-
 .../Codecs/RAMOnly/RAMOnlyPostingsFormat.cs        |  17 +-
 .../Index/BaseDocValuesFormatTestCase.cs           |   1 +
 .../Index/BaseMergePolicyTestCase.cs               |   8 +-
 .../Index/BasePostingsFormatTestCase.cs            |   7 +-
 .../Index/ThreadedIndexingAndSearchingTestCase.cs  |   1 +
 .../Search/RandomSimilarityProvider.cs             |  15 +-
 .../Search/SearchEquivalenceTestBase.cs            |   7 +-
 .../Store/MockDirectoryWrapper.cs                  | 211 +++++-
 .../Store/SlowClosingMockIndexInputWrapper.cs      |   9 +-
 .../Store/SlowOpeningMockIndexInputWrapper.cs      |   5 +-
 src/Lucene.Net.TestFramework/Util/LineFileDocs.cs  |  36 +-
 .../Util/LuceneTestCase.cs                         |  28 +-
 src/Lucene.Net.TestFramework/Util/TestUtil.cs      |   1 +
 .../Util/ThrottledIndexOutput.cs                   |  14 +-
 .../Analysis/Th/TestThaiAnalyzer.cs                |   1 +
 .../Analysis/Icu/Segmentation/TestICUTokenizer.cs  |   1 +
 .../ByTask/Tasks/CountingSearchTestTask.cs         |   8 +-
 .../SimpleText/TestSimpleTextStoredFieldsFormat.cs |   1 -
 src/Lucene.Net.Tests.Facet/SlowRAMDirectory.cs     |  27 +-
 .../Taxonomy/TestSearcherTaxonomyManager.cs        |   1 +
 .../Taxonomy/TestTaxonomyCombined.cs               |   2 +
 .../IndexAndTaxonomyReplicationClientTest.cs       |  11 +-
 .../IndexReplicationClientTest.cs                  |  11 +-
 .../LocalReplicatorTest.cs                         |   1 +
 .../Spell/TestSpellChecker.cs                      |   1 +
 .../Analyzing/AnalyzingInfixSuggesterTest.cs       |   1 +
 src/Lucene.Net.Tests/Index/TestAddIndexes.cs       |  23 +-
 src/Lucene.Net.Tests/Index/TestBagOfPositions.cs   |   1 +
 src/Lucene.Net.Tests/Index/TestBagOfPostings.cs    |   1 +
 .../Index/TestConcurrentMergeScheduler.cs          |   1 +
 src/Lucene.Net.Tests/Index/TestDeletionPolicy.cs   |   1 +
 src/Lucene.Net.Tests/Index/TestDirectoryReader.cs  |   1 +
 .../Index/TestDirectoryReaderReopen.cs             |  35 +-
 .../Index/TestDocumentsWriterDeleteQueue.cs        |  13 +-
 .../Index/TestDocumentsWriterStallControl.cs       |   8 +-
 src/Lucene.Net.Tests/Index/TestIndexWriter.cs      |  71 +-
 .../Index/TestIndexWriterExceptions.cs             |   9 +-
 .../Index/TestIndexWriterMerging.cs                |   8 +-
 .../Index/TestIndexWriterNRTIsCurrent.cs           |   1 +
 .../Index/TestIndexWriterOnJRECrash.cs             |   1 +
 .../Index/TestIndexWriterReader.cs                 |  23 +-
 .../Index/TestIndexWriterWithThreads.cs            |  11 +-
 .../Index/TestNRTReaderWithThreads.cs              |   2 +-
 src/Lucene.Net.Tests/Index/TestNeverDelete.cs      |   1 +
 src/Lucene.Net.Tests/Index/TestPayloads.cs         |  22 +-
 .../Index/TestSnapshotDeletionPolicy.cs            |  12 +-
 src/Lucene.Net.Tests/Index/TestStressIndexing2.cs  |  22 +-
 src/Lucene.Net.Tests/Index/TestStressNRT.cs        |  29 +-
 src/Lucene.Net.Tests/Index/TestTransactions.cs     |  15 +-
 .../Search/TestControlledRealTimeReopenThread.cs   |  22 +-
 .../Search/TestMultiThreadTermVectors.cs           |   1 +
 src/Lucene.Net.Tests/Search/TestSearcherManager.cs |  15 +-
 .../Search/TestTimeLimitingCollector.cs            |  20 +-
 src/Lucene.Net.Tests/Store/TestLockFactory.cs      |   1 +
 .../ExceptionHandling/TestExceptionExtensions.cs   |   2 +-
 .../Threading/TestUninterruptableMonitor.cs        | 313 +++++++++
 src/Lucene.Net.Tests/TestWorstCaseTestBehavior.cs  |   1 +
 src/Lucene.Net.Tests/Util/TestSetOnce.cs           |   1 +
 src/Lucene.Net/Codecs/Lucene3x/Lucene3xFields.cs   |   8 +-
 .../Codecs/Lucene3x/Lucene3xNormsProducer.cs       |  15 +-
 .../Codecs/Lucene40/Lucene40DocValuesReader.cs     |  22 +-
 .../Codecs/Lucene42/Lucene42DocValuesProducer.cs   |  29 +-
 .../Codecs/Lucene45/Lucene45DocValuesProducer.cs   |  22 +-
 src/Lucene.Net/Index/BufferedUpdatesStream.cs      |  57 +-
 src/Lucene.Net/Index/ConcurrentMergeScheduler.cs   | 130 +++-
 src/Lucene.Net/Index/DocumentsWriter.cs            |  68 +-
 .../Index/DocumentsWriterFlushControl.cs           | 171 ++++-
 src/Lucene.Net/Index/DocumentsWriterFlushQueue.cs  |  59 +-
 .../Index/DocumentsWriterPerThreadPool.cs          |  40 +-
 .../Index/DocumentsWriterStallControl.cs           |  62 +-
 src/Lucene.Net/Index/FieldInfos.cs                 |  36 +-
 src/Lucene.Net/Index/FlushPolicy.cs                |   8 +-
 src/Lucene.Net/Index/IndexFileDeleter.cs           |   5 +-
 src/Lucene.Net/Index/IndexReader.cs                |  32 +-
 src/Lucene.Net/Index/IndexWriter.cs                | 773 +++++++++++++++++----
 src/Lucene.Net/Index/MergePolicy.cs                |  56 +-
 src/Lucene.Net/Index/MultiReader.cs                |  10 +-
 src/Lucene.Net/Index/ParallelAtomicReader.cs       |   8 +-
 src/Lucene.Net/Index/ParallelCompositeReader.cs    |   8 +-
 .../Index/PersistentSnapshotDeletionPolicy.cs      |  43 +-
 src/Lucene.Net/Index/ReadersAndUpdates.cs          | 127 +++-
 src/Lucene.Net/Index/SegmentCoreReaders.cs         |  10 +-
 src/Lucene.Net/Index/SegmentDocValues.cs           |  22 +-
 src/Lucene.Net/Index/SerialMergeScheduler.cs       |   8 +-
 src/Lucene.Net/Index/SlowCompositeReaderWrapper.cs |  17 +-
 src/Lucene.Net/Index/SnapshotDeletionPolicy.cs     |  71 +-
 src/Lucene.Net/Index/StoredFieldsProcessor.cs      |  10 +-
 src/Lucene.Net/Index/TermsEnum.cs                  |  10 +-
 src/Lucene.Net/Search/CachingWrapperFilter.cs      |  10 +-
 .../Search/ControlledRealTimeReopenThread.cs       |  46 +-
 src/Lucene.Net/Search/FieldCacheImpl.cs            |  66 +-
 src/Lucene.Net/Search/IndexSearcher.cs             |   3 +-
 src/Lucene.Net/Search/ReferenceManager.cs          |  14 +-
 src/Lucene.Net/Search/SearcherLifetimeManager.cs   |  22 +-
 src/Lucene.Net/Search/TimeLimitingCollector.cs     |  11 +-
 src/Lucene.Net/Store/CompoundFileDirectory.cs      |  15 +-
 src/Lucene.Net/Store/CompoundFileWriter.cs         |   8 +-
 src/Lucene.Net/Store/Lock.cs                       |  13 +-
 src/Lucene.Net/Store/LockVerifyServer.cs           |   8 +-
 src/Lucene.Net/Store/NRTCachingDirectory.cs        |  57 +-
 src/Lucene.Net/Store/NativeFSLockFactory.cs        | 109 ++-
 src/Lucene.Net/Store/RAMFile.cs                    |  43 +-
 src/Lucene.Net/Store/RateLimiter.cs                |  11 +-
 src/Lucene.Net/Store/SimpleFSDirectory.cs          |   8 +-
 src/Lucene.Net/Store/SingleInstanceLockFactory.cs  |  29 +-
 src/Lucene.Net/Store/VerifyingLockFactory.cs       |  36 +-
 .../Support/Codecs/DefaultCodecFactory.cs          |  24 +-
 .../Codecs/DefaultDocValuesFormatFactory.cs        |  24 +-
 .../Support/Codecs/DefaultPostingsFormatFactory.cs |  24 +-
 src/Lucene.Net/Support/ConcurrentHashSet.cs        |  17 +-
 src/Lucene.Net/Support/ConcurrentSet.cs            | 193 ++++-
 .../ExceptionHandling/ExceptionExtensions.cs       |  10 +-
 src/Lucene.Net/Support/IO/StreamExtensions.cs      |   8 +-
 .../LimitedConcurrencyLevelTaskScheduler.cs        |  30 +-
 src/Lucene.Net/Support/Threading/ReentrantLock.cs  |   8 +-
 .../Support/Threading/UninterruptableMonitor.cs    | 167 +++++
 src/Lucene.Net/Util/AttributeSource.cs             |   8 +-
 src/Lucene.Net/Util/Fst/Util.cs                    |  15 +-
 src/Lucene.Net/Util/InfoStream.cs                  |  15 +-
 .../Util/ThreadInterruptedException.cs}            |  28 +-
 171 files changed, 4395 insertions(+), 757 deletions(-)
 create mode 100644 
src/Lucene.Net.Tests/Support/Threading/TestUninterruptableMonitor.cs
 create mode 100644 src/Lucene.Net/Support/Threading/UninterruptableMonitor.cs
 copy src/{Lucene.Net.QueryParser/Xml/ParserException.cs => 
Lucene.Net/Util/ThreadInterruptedException.cs} (64%)

Reply via email to