You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2014/08/25 19:50:59 UTC

[jira] [Updated] (LUCENE-5899) shenandoah GC can cause "ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum"

     [ https://issues.apache.org/jira/browse/LUCENE-5899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hoss Man updated LUCENE-5899:
-----------------------------

      Description: 
User report of bizare ClassCastException when running some lucene code with the (experimental) shenandoah GC

{code}
Exception in thread "Lucene Merge Thread #0" org.apache.lucene.index.MergePolicy$MergeException: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum
	at org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:545)
	at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:518)
Caused by: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum
	at org.apache.lucene.codecs.PostingsConsumer.merge(PostingsConsumer.java:127)
	at org.apache.lucene.codecs.TermsConsumer.merge(TermsConsumer.java:110)
	at org.apache.lucene.codecs.FieldsConsumer.merge(FieldsConsumer.java:72)
	at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:399)
	at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:112)
	at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4163)
	at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3759)
	at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:405)
	at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:482)
{code}

  was:
Exception in thread "Lucene Merge Thread #0" org.apache.lucene.index.MergePolicy$MergeException: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum
	at org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:545)
	at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:518)
Caused by: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum
	at org.apache.lucene.codecs.PostingsConsumer.merge(PostingsConsumer.java:127)
	at org.apache.lucene.codecs.TermsConsumer.merge(TermsConsumer.java:110)
	at org.apache.lucene.codecs.FieldsConsumer.merge(FieldsConsumer.java:72)
	at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:399)
	at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:112)
	at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4163)
	at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3759)
	at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:405)
	at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:482)


         Priority: Minor  (was: Major)
      Environment: 
I test lucene on shenandoah with big memory + bigdata(32g, 128g).   
http://openjdk.java.net/jeps/189
http://icedtea.classpath.org/hg/shenandoah/

    Fix Version/s:     (was: 4.10)
          Summary: shenandoah GC can cause "ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum"  (was: Caused by: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum)

I've updated the summary & description to make it more clear what circumstances this happens in.

Littlestar: it would be very helpful if you could provide some explicit details on what exactly you mean by "test lucene" ... is this test code you wrote? were you running "ant test" from the lucene distribution? ... which test threw this exception? does it reproduce reliably?

if you do open a JDK bug regarding this, please link to this issue, and then post the resulting bug # back here as a comment as well.

> shenandoah GC can cause "ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum"
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-5899
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5899
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/codecs
>    Affects Versions: 4.9
>         Environment: I test lucene on shenandoah with big memory + bigdata(32g, 128g).   
> http://openjdk.java.net/jeps/189
> http://icedtea.classpath.org/hg/shenandoah/
>            Reporter: Littlestar
>            Priority: Minor
>
> User report of bizare ClassCastException when running some lucene code with the (experimental) shenandoah GC
> {code}
> Exception in thread "Lucene Merge Thread #0" org.apache.lucene.index.MergePolicy$MergeException: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum
> 	at org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:545)
> 	at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:518)
> Caused by: java.lang.ClassCastException: org.apache.lucene.codecs.MappingMultiDocsEnum cannot be cast to org.apache.lucene.index.DocsAndPositionsEnum
> 	at org.apache.lucene.codecs.PostingsConsumer.merge(PostingsConsumer.java:127)
> 	at org.apache.lucene.codecs.TermsConsumer.merge(TermsConsumer.java:110)
> 	at org.apache.lucene.codecs.FieldsConsumer.merge(FieldsConsumer.java:72)
> 	at org.apache.lucene.index.SegmentMerger.mergeTerms(SegmentMerger.java:399)
> 	at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:112)
> 	at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4163)
> 	at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3759)
> 	at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:405)
> 	at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:482)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org