Hi Robert,

2012/2/15 Robert Muir <rcm...@gmail.com>

> I think these are thread-safety problems related to using the same
> analysis engine instance?
>
> See prototype patch on
> https://issues.apache.org/jira/browse/LUCENE-3731, this is also
> causing some performance issues I think.
>
> Currently I think because no CAS is reused, its just slow and the
> possibility of thread problems is low. But by reusing CAS, these tests
> run much faster (and of course then fail).
>
> In the prototype patch as a workaround, i added this:
> +    // nocommit: how can we get our 'own' analysis engine from the
> factory?
> +    synchronized(analysisEngine) {
> +      analysisEngine.process(cas);
> +    }
>
> But I don't think we should do this... we should avoid the sync here.
> Instead of caching in the AEFactory maybe each tokenstream should get
> its own AnalysisEngine so there is no sync?
>

this may be the easy fix which should get the bar green again.
I think we should go for this now.


> Otherwise, I think we need to look at something like
>
> http://uima.apache.org/d/uimaj-2.4.0/apidocs/org/apache/uima/UIMAFramework.html#produceAnalysisEngine%28org.apache.uima.resource.ResourceSpecifier,%20int,%20int%29
> which can process multiple requests simultaneously, but I'm not
> familiar enough with the UIMA apis to know whats best here.
>

IMHO the best thing in the long run would be using UIMA-AS (SOLR-3014) to
face high performance and concurrency tasks, right now I'm doing different
tests locally in order to come up with the best solution (see LUCENE-3731).

Tommaso


>
> On Wed, Feb 15, 2012 at 11:37 AM, Apache Jenkins Server
> <jenk...@builds.apache.org> wrote:
> > Build:
> https://builds.apache.org/job/Lucene-Solr-tests-only-trunk-java7/1738/
> >
> > 2 tests failed.
> > FAILED:
>  org.apache.lucene.analysis.uima.UIMABaseAnalyzerTest.testRandomStrings
> >
> > Error Message:
> > java.lang.AssertionError: Some threads threw uncaught exceptions!
> >
> > Stack Trace:
> > java.lang.RuntimeException: java.lang.AssertionError: Some threads threw
> uncaught exceptions!
> >        at
> org.apache.lucene.util.LuceneTestCase.tearDownInternal(LuceneTestCase.java:773)
> >        at
> org.apache.lucene.util.LuceneTestCase.access$1000(LuceneTestCase.java:131)
> >        at
> org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:600)
> >        at
> org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:504)
> >        at
> org.apache.lucene.util.LuceneTestCase$RememberThreadRule$1.evaluate(LuceneTestCase.java:562)
> >        at
> org.apache.lucene.util.LuceneTestCaseRunner.runChild(LuceneTestCaseRunner.java:165)
> >        at
> org.apache.lucene.util.LuceneTestCaseRunner.runChild(LuceneTestCaseRunner.java:57)
> >        at
> org.apache.lucene.util.LuceneTestCase.checkUncaughtExceptionsAfter(LuceneTestCase.java:801)
> >        at
> org.apache.lucene.util.LuceneTestCase.tearDownInternal(LuceneTestCase.java:745)
> >
> >
> > FAILED:
>  org.apache.lucene.analysis.uima.UIMATypeAwareAnalyzerTest.testRandomStrings
> >
> > Error Message:
> > java.lang.AssertionError: Some threads threw uncaught exceptions!
> >
> > Stack Trace:
> > java.lang.RuntimeException: java.lang.AssertionError: Some threads threw
> uncaught exceptions!
> >        at
> org.apache.lucene.util.LuceneTestCase.tearDownInternal(LuceneTestCase.java:773)
> >        at
> org.apache.lucene.util.LuceneTestCase.access$1000(LuceneTestCase.java:131)
> >        at
> org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:600)
> >        at
> org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:504)
> >        at
> org.apache.lucene.util.LuceneTestCase$RememberThreadRule$1.evaluate(LuceneTestCase.java:562)
> >        at
> org.apache.lucene.util.LuceneTestCaseRunner.runChild(LuceneTestCaseRunner.java:165)
> >        at
> org.apache.lucene.util.LuceneTestCaseRunner.runChild(LuceneTestCaseRunner.java:57)
> >        at
> org.apache.lucene.util.LuceneTestCase.checkUncaughtExceptionsAfter(LuceneTestCase.java:801)
> >        at
> org.apache.lucene.util.LuceneTestCase.tearDownInternal(LuceneTestCase.java:745)
> >
> >
> >
> >
> > Build Log (for compile errors):
> > [...truncated 5211 lines...]
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: dev-h...@lucene.apache.org
>
>
>
> --
> lucidimagination.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>
>

Reply via email to