mikemccand commented on PR #13124:
URL: https://github.com/apache/lucene/pull/13124#issuecomment-2001975632
This looks like a great change! ... Lucene finally catching up to modern
concurrency :) I have not looked closely yet.
But nightly benchy is upset, prolly related to this, when running
`runFacetsBenchmarks.py`. I haven't looked closely yet, and will be offline
mostly next couple days (sorry for the hit&run!), but here's the exception is
popped out:
```
Exception in thread "main" org.apache.lucene.store.AlreadyClosedException:
this IndexWriter is closed
at
org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:913)
at
org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:926)
at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:4070)
at perf.facets.IndexFacets.main(IndexFacets.java:127)
Caused by: java.lang.RuntimeException: Only the merge owner thread can call
pauseNanos(). This thread: pool-1-thread-1, owner thread: Thread[#290,Lucene
Merge Thread #12,5,main]
at
org.apache.lucene.index.MergePolicy$OneMergeProgress.pauseNanos(MergePolicy.java:142)
at
org.apache.lucene.index.MergeRateLimiter.maybePause(MergeRateLimiter.java:147)
at
org.apache.lucene.index.MergeRateLimiter.pause(MergeRateLimiter.java:92)
at
org.apache.lucene.store.RateLimitedIndexOutput.checkRate(RateLimitedIndexOutput.java:86)
at
org.apache.lucene.store.RateLimitedIndexOutput.writeBytes(RateLimitedIndexOutput.java:55)
at
org.apache.lucene.store.ByteBuffersDataOutput.copyTo(ByteBuffersDataOutput.java:339)
at
org.apache.lucene.codecs.lucene90.blocktree.Lucene90BlockTreeTermsWriter$TermsWriter.writeBlock(Lucene90BlockTreeTermsWriter.java:1022)
at
org.apache.lucene.codecs.lucene90.blocktree.Lucene90BlockTreeTermsWriter$TermsWriter.writeBlocks(Lucene90BlockTreeTermsWriter.java:760)
at
org.apache.lucene.codecs.lucene90.blocktree.Lucene90BlockTreeTermsWriter$TermsWriter.pushTerm(Lucene90BlockTreeTermsWriter.java:1133)
at
org.apache.lucene.codecs.lucene90.blocktree.Lucene90BlockTreeTermsWriter$TermsWriter.write(Lucene90BlockTreeTermsWriter.java:1089)
at
org.apache.lucene.codecs.lucene90.blocktree.Lucene90BlockTreeTermsWriter.write(Lucene90BlockTreeTermsWriter.java:399)
at
org.apache.lucene.codecs.FieldsConsumer.merge(FieldsConsumer.java:95)
at
org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsWriter.merge(PerFieldPostingsFormat.java:205)
at
org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:236)
at
org.apache.lucene.index.SegmentMerger.mergeWithLogging(SegmentMerger.java:325)
at
org.apache.lucene.index.SegmentMerger.lambda$merge$0(SegmentMerger.java:147)
at
org.apache.lucene.search.TaskExecutor$TaskGroup.lambda$createTask$0(TaskExecutor.java:117)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at
org.apache.lucene.index.ConcurrentMergeScheduler$CachedExecutor.lambda$execute$0(ConcurrentMergeScheduler.java:978)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: java.lang.RuntimeException: Only the merge owner thread
can call pauseNanos(). This thread: pool-1-thread-2, owner thread:
Thread[#290,Lucene Merge Thread #12,5,main]
at
org.apache.lucene.index.MergePolicy$OneMergeProgress.pauseNanos(MergePolicy.java:142)
at
org.apache.lucene.index.MergeRateLimiter.maybePause(MergeRateLimiter.java:147)
at
org.apache.lucene.index.MergeRateLimiter.pause(MergeRateLimiter.java:92)
at
org.apache.lucene.store.RateLimitedIndexOutput.checkRate(RateLimitedIndexOutput.java:86)
at
org.apache.lucene.store.RateLimitedIndexOutput.writeBytes(RateLimitedIndexOutput.java:55)
at
org.apache.lucene.store.DataOutput.writeBytes(DataOutput.java:54)
at
org.apache.lucene.util.packed.DirectWriter.flush(DirectWriter.java:97)
at
org.apache.lucene.util.packed.DirectWriter.add(DirectWriter.java:83)
at
org.apache.lucene.codecs.lucene90.Lucene90DocValuesConsumer.writeValuesSingleBlock(Lucene90DocValuesConsumer.java:349)
at
org.apache.lucene.codecs.lucene90.Lucene90DocValuesConsumer.writeValues(Lucene90DocValuesConsumer.java:328)
at
org.apache.lucene.codecs.lucene90.Lucene90DocValuesConsumer.doAddSortedNumericField(Lucene90DocValuesConsumer.java:707)
at
org.apache.lucene.codecs.lucene90.Lucene90DocValuesConsumer.addSortedSetField(Lucene90DocValuesConsumer.java:772)
at
org.apache.lucene.codecs.DocValuesConsumer.mergeSortedSetField(DocValuesConsumer.java:853)
at
org.apache.lucene.codecs.DocValuesConsumer.merge(DocValuesConsumer.java:148)
at
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.merge(PerFieldDocValuesFormat.java:154)
at
org.apache.lucene.index.SegmentMerger.mergeDocValues(SegmentMerger.java:205)
at
org.apache.lucene.index.SegmentMerger.mergeWithLogging(SegmentMerger.java:325)
at
org.apache.lucene.index.SegmentMerger.lambda$merge$1(SegmentMerger.java:155)
... 6 more
Suppressed: java.lang.RuntimeException: Only the merge owner
thread can call pauseNanos(). This thread: pool-1-thread-2, owner thread:
Thread[#290,Lucene Merge Thread #12,5,main]
at
org.apache.lucene.index.MergePolicy$OneMergeProgress.pauseNanos(MergePolicy.java:142)
at
org.apache.lucene.index.MergeRateLimiter.maybePause(MergeRateLimiter.java:147)
at
org.apache.lucene.index.MergeRateLimiter.pause(MergeRateLimiter.java:92)
at
org.apache.lucene.store.RateLimitedIndexOutput.checkRate(RateLimitedIndexOutput.java:86)
at
org.apache.lucene.store.RateLimitedIndexOutput.writeByte(RateLimitedIndexOutput.java:48)
at
org.apache.lucene.codecs.CodecUtil.writeBEInt(CodecUtil.java:654)
at
org.apache.lucene.codecs.CodecUtil.writeFooter(CodecUtil.java:410)
at
org.apache.lucene.codecs.lucene90.Lucene90DocValuesConsumer.close(Lucene90DocValuesConsumer.java:116)
at
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$ConsumerAndSuffix.close(PerFieldDocValuesFormat.java:86)
at
org.apache.lucene.util.IOUtils.close(IOUtils.java:85)
at
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.close(PerFieldDocValuesFormat.java:249)
at
org.apache.lucene.index.SegmentMerger.mergeDocValues(SegmentMerger.java:204)
... 8 more
Traceback (most recent call last):
File "/l/util.nightly/src/python/nightlyBench.py", line 1957, in <module>
run()
File "/l/util.nightly/src/python/nightlyBench.py", line 533, in run
runFacetsBenchmark.run_benchmark(f'{constants.BASE_DIR}/{NIGHTLY_DIR}',
File "/l/util.nightly/src/python/runFacetsBenchmark.py", line 56, in
run_benchmark
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]