[ 
https://issues.apache.org/jira/browse/LUCENE-784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12467627
 ] 

Keiron McCammon commented on LUCENE-784:
----------------------------------------

Indeed, we are also creating a Directory with create = false and then calling 
IndexWriter with create = true to recreate our index periodically during 
maintenance.

Normally we use ANT to run our tool which deletes the directory and creates it 
but we recently just started running our tool directly which would cause this 
issue.

> ArrayIndexOutOfBoundsException in BitVector.get whilst adding a doc resulting 
> in corrupt index
> ----------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-784
>                 URL: https://issues.apache.org/jira/browse/LUCENE-784
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.0.0
>         Environment: Linux 2.6.11-1.1369_FC4smp #1 SMP Thu Jun 2 23:16:33 EDT 
> 2005 x86_64 x86_64 x86_64 GNU/Linux
> java version "1.5.0_07"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_07-b03, mixed mode)
>            Reporter: Keiron McCammon
>
> We have got the following exception during adding docs to an index in our 
> production environment and the index now seems corrupted:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
>         at org.apache.lucene.util.BitVector.get(BitVector.java:63)
>         at 
> org.apache.lucene.index.SegmentReader.isDeleted(SegmentReader.java:288)
>         at 
> org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:185)
>         at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:88)
>         at 
> org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:709)
>         at 
> org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:686)
>         at 
> org.apache.lucene.index.IndexWriter.maybeMergeSegments(IndexWriter.java:674)
>         at 
> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:479)
>         at 
> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:462)
>         at 
> com.kaboodle.subsystem.content.impl.lucene.LuceneIndexingService.indexItemEntry(LuceneIndexingService.java:2272)
>         at 
> com.kaboodle.subsystem.content.impl.lucene.LuceneIndexingService.indexItem(LuceneIndexingService.java:1500)
>         at 
> com.kaboodle.subsystem.content.impl.lucene.LuceneIndexingService.update(LuceneIndexingService.java:823)
>         at 
> com.kaboodle.subsystem.content.impl.lucene.LuceneIndexingService$1.process(LuceneIndexingService.java:397)
>         at 
> com.kaboodle.subsystem.content.impl.AbstractQueueHandler.process(AbstractQueueHandler.java:131)
>         at 
> com.kaboodle.subsystem.content.impl.lucene.LuceneIndexingService.indexContent(LuceneIndexingService.java:393)
>         at sun.reflect.GeneratedMethodAccessor1261.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
>         at 
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
>         at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
>         at 
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
>         at $Proxy6.indexContent(Unknown Source)
>         ... 19 more
> Now the index appears to be corrupted since any search also gets an 
> ArrayOutOfBoundsException:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
>         at org.apache.lucene.util.BitVector.get(BitVector.java:63)
>         at 
> org.apache.lucene.index.SegmentTermDocs.read(SegmentTermDocs.java:133)
>         at org.apache.lucene.index.MultiTermDocs.read(MultiReader.java:365)
>         at org.apache.lucene.search.TermScorer.next(TermScorer.java:105)
>         at 
> org.apache.lucene.search.DisjunctionSumScorer.advanceAfterCurrent(DisjunctionSumScorer.java:151)
>         at 
> org.apache.lucene.search.DisjunctionSumScorer.next(DisjunctionSumScorer.java:125)
>         at 
> org.apache.lucene.search.BooleanScorer2.next(BooleanScorer2.java:322)
>         at 
> org.apache.lucene.search.DisjunctionSumScorer.advanceAfterCurrent(DisjunctionSumScorer.java:151)
>         at 
> org.apache.lucene.search.DisjunctionSumScorer.skipTo(DisjunctionSumScorer.java:215)
>         at 
> org.apache.lucene.search.ReqOptSumScorer.score(ReqOptSumScorer.java:75)
>         at 
> org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:327)
>         at 
> org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:291)
>         at 
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:132)
>         at 
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:99)
>         at org.apache.lucene.search.Searcher.search(Searcher.java:130)
>         at 
> com.kaboodle.subsystem.content.impl.lucene.LuceneSearchService.search(LuceneSearchService.java:1045)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to