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%)