Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
As part of LUCENE-7075, I tried to move join/ modules numeric join support away from deprecated encodings.
Basically from what i see, its encoding Numeric/SortedNumeric in a byte[] as an impl detail, it might as well use the new 8-bit encoding rather than the 7-bit one.
There are certain bugs in what i did, but i don't like the exceptions I see:
[junit4] Suite: org.apache.lucene.search.join.TestJoinUtil [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestJoinUtil -Dtests.method=testRandomOrdinalsJoin -Dtests.seed=49BE0A860DCFFEDB -Dtests.slow=true -Dtests.locale=tr -Dtests.timezone=Asia/Urumqi -Dtests.asserts=true -Dtests.file.encoding=UTF-8 [junit4] ERROR 1.16s J1 | TestJoinUtil.testRandomOrdinalsJoin <<< [junit4] > Throwable #1: org.apache.lucene.store.AlreadyClosedException: refusing to delete any files: this IndexWriter hit an unrecoverable exception [junit4] > at __randomizedtesting.SeedInfo.seed([49BE0A860DCFFEDB:F6630B1FDD33EBD7]:0) [junit4] > at org.apache.lucene.index.IndexFileDeleter.ensureOpen(IndexFileDeleter.java:345) [junit4] > at org.apache.lucene.index.IndexFileDeleter.deleteFiles(IndexFileDeleter.java:696) [junit4] > at org.apache.lucene.index.IndexFileDeleter.decRef(IndexFileDeleter.java:594) [junit4] > at org.apache.lucene.index.IndexFileDeleter.checkpoint(IndexFileDeleter.java:533) [junit4] > at org.apache.lucene.index.IndexWriter.checkpoint(IndexWriter.java:2337) [junit4] > at org.apache.lucene.index.IndexWriter.publishFlushedSegment(IndexWriter.java:2395) [junit4] > at org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.publishFlushedSegment(DocumentsWriterFlushQueue.java:198) [junit4] > at org.apache.lucene.index.DocumentsWriterFlushQueue$FlushTicket.finishFlush(DocumentsWriterFlushQueue.java:213) [junit4] > at org.apache.lucene.index.DocumentsWriterFlushQueue$SegmentFlushTicket.publish(DocumentsWriterFlushQueue.java:249) [junit4] > at org.apache.lucene.index.DocumentsWriterFlushQueue.innerPurge(DocumentsWriterFlushQueue.java:116) [junit4] > at org.apache.lucene.index.DocumentsWriterFlushQueue.forcePurge(DocumentsWriterFlushQueue.java:138) [junit4] > at org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:624) [junit4] > at org.apache.lucene.index.IndexWriter.prepareCommitInternal(IndexWriter.java:2815) [junit4] > at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:2989) [junit4] > at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:2956) [junit4] > at org.apache.lucene.index.RandomIndexWriter.commit(RandomIndexWriter.java:288) [junit4] > at org.apache.lucene.search.join.TestJoinUtil.createContext(TestJoinUtil.java:1121) [junit4] > at org.apache.lucene.search.join.TestJoinUtil.testRandomOrdinalsJoin(TestJoinUtil.java:403) [junit4] > at java.lang.Thread.run(Thread.java:745) [junit4] > Caused by: java.lang.IllegalArgumentException: field="fromInteger" is unrecognized [junit4] > at org.apache.lucene.codecs.lucene60.Lucene60PointsReader.getBKDReader(Lucene60PointsReader.java:120) [junit4] > at org.apache.lucene.codecs.lucene60.Lucene60PointsReader.getNumDimensions(Lucene60PointsReader.java:199) [junit4] > at org.apache.lucene.codecs.asserting.AssertingPointsFormat$AssertingPointsReader.intersect(AssertingPointsFormat.java:169) [junit4] > at org.apache.lucene.codecs.PointsWriter$1.intersect(PointsWriter.java:59) [junit4] > at org.apache.lucene.codecs.lucene60.Lucene60PointsWriter.writeField(Lucene60PointsWriter.java:93) [junit4] > at org.apache.lucene.codecs.PointsWriter.mergeOneField(PointsWriter.java:44) [junit4] > at org.apache.lucene.codecs.PointsWriter.merge(PointsWriter.java:143) [junit4] > at org.apache.lucene.codecs.lucene60.Lucene60PointsWriter.merge(Lucene60PointsWriter.java:121) [junit4] > at org.apache.lucene.codecs.asserting.AssertingPointsFormat$AssertingPointsWriter.merge(AssertingPointsFormat.java:262) [junit4] > at org.apache.lucene.index.SegmentMerger.mergePoints(SegmentMerger.java:168) [junit4] > at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:117) [junit4] > at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4099) [junit4] > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3679) [junit4] > at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588) [junit4] > at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626)
What is happening here? Is the exception correct or are we missing a check?