So the indexWriterConfig.clone() failed at this step:
clone.indexerThreadPool = indexerThreadPool
<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.7.0/org/apache/lucene/index/LiveIndexWriterConfig.java#LiveIndexWriterConfig.0indexerThreadPool>
.clone
<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.7.0/org/apache/lucene/index/DocumentsWriterPerThreadPool.java#DocumentsWriterPerThreadPool.clone%28%29>
();

which then failed at this step in the "indexerThreadPool"


if (numThreadStatesActive
<http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.7.0/org/apache/lucene/index/DocumentsWriterPerThreadPool.java#DocumentsWriterPerThreadPool.0numThreadStatesActive>
!= 0) {

    throw new IllegalStateException
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/IllegalStateException.java#IllegalStateException>("clone
this object before it is used!");

}


There is a comment right above this:
// We should only be cloned before being used:

Does this mean whenever the indexWriter gets called for
commit/prepareCommit, etc., the corresponding indexWriterConfig object
cannot be called with .clone() at all?


On Mon, Aug 11, 2014 at 9:52 PM, Vitaly Funstein <vfunst...@gmail.com>
wrote:

> Looks like you have to clone it prior to using with any IndexWriter
> instances.
>
>
> On Mon, Aug 11, 2014 at 2:49 PM, Sheng <sheng...@gmail.com> wrote:
>
> > I tried to create a clone of indexwriteconfig with
> > "indexWriterConfig.clone()" for re-creating a new indexwriter, but I
> then I
> > got this very annoying illegalstateexception: "clone this object before
> it
> > is used". Why does this exception happen, and how can I get around it?
> > Thanks!
> >
>

Reply via email to