I am using Java 1.6.0_02. Is this a problem? On Fri, Oct 3, 2008 at 5:35 PM, Michael McCandless < [EMAIL PROTECTED]> wrote:
> > Which Java environment are you running? > > super.clone() from SegmentInfos should produce a new SegmentInfos object. > > It seems like in your case it's somehow producing a Vector instead? > > Mike > > > Paul Chan wrote: > > Hi Mike, >> >> I am actually using the Compass Search Engine which in turn makes use of >> Lucene. They are doing the following in their code: >> >> IndexWriter indexWriter = new IndexWriter(dir, autoCommit, analyzer, >> create, deletionPolicy); >> >> where autoCommit = false. >> >> In turn, Lucene will do the following: >> >> public class IndexWriter { >> >> public IndexWriter(Directory d, boolean autoCommit, Analyzer a, >> boolean create, IndexDeletionPolicy deletionPolicy) >> throws CorruptIndexException, LockObtainFailedException, IOException >> { >> init(d, a, create, false, deletionPolicy, autoCommit); >> } >> >> private void init(Directory d, Analyzer a, final boolean create, >> boolean closeDir, IndexDeletionPolicy deletionPolicy, >> boolean autoCommit) >> { >> ... >> .. >> if (!autoCommit) { >> rollbackSegmentInfos = (SegmentInfos) segmentInfos.clone(); >> } >> } >> } >> >> which calls the clone() method that causes the exception because >> autoCommit >> = false. >> >> On Fri, Oct 3, 2008 at 4:54 PM, Michael McCandless < >> [EMAIL PROTECTED]> wrote: >> >> >>> Can you describe what led up to this exception? Ie, what calls you made >>> to >>> Lucene before this. >>> >>> Mike >>> >>> >>> Paul Chan wrote: >>> >>> I think I know what the problem is looking at the code: >>> >>>> >>>> In SegmentInfos.java (line 321): >>>> >>>> class SegmentInfos extends Vector >>>> { >>>> public Object clone() { >>>> SegmentInfos sis = (SegmentInfos) super.clone(); >>>> for(int i=0;i<sis.size();i++) { >>>> sis.setElementAt(((SegmentInfo) sis.elementAt(i)).clone(), i); >>>> } >>>> return sis; >>>> } >>>> } >>>> >>>> We see that it is trying to cast a Vector into SegmentInfos which >>>> explains >>>> the ClassCastException. This is definitely a bug. >>>> >>>> >>>> On Fri, Oct 3, 2008 at 3:40 PM, Paul Chan <[EMAIL PROTECTED]> >>>> wrote: >>>> >>>> Hi, >>>> >>>>> >>>>> I am using lucene 2.3.2 and I encounter the following exception when I >>>>> try >>>>> to insert a object into the index. >>>>> >>>>> Caused by: java.lang.ClassCastException: java.util.Vector cannot be >>>>> cast >>>>> to >>>>> org.apache.lucene.index.SegmentInfos >>>>> at org.apache.lucene.index.SegmentInfos.clone(SegmentInfos.java:321) >>>>> at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:715) >>>>> at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:666) >>>>> >>>>> Has Anyone seen this problem before? What seems to be the problem? >>>>> >>>>> Thanks! >>>>> >>>>> >>>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >