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]