You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Robert Muir <rc...@gmail.com> on 2013/01/27 20:42:38 UTC
Re: svn commit: r1433177 - /lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
This still isnt quite right though, because now that we trip
exceptions during Codec's finishDocument (and this test uses
ConcurrentMergeScheduler explicitly!), its possible to have an
uncaught exception in another thread from the codec's
TermVectorsWriter finishDocument(): e.g.
http://fortyounce.servebeer.com/job/the%204547%20machine%20gun/848/console
(run the seed with -Dtests.dups=20 and it will repro).
Can we re-arrange the test better? Otherwise in its current form we
would have to add install/deinstall a uncaught exception handler just
for this case (or turn off CMS)
On Mon, Jan 14, 2013 at 5:29 PM, <mi...@apache.org> wrote:
> Author: mikemccand
> Date: Mon Jan 14 22:29:29 2013
> New Revision: 1433177
>
> URL: http://svn.apache.org/viewvc?rev=1433177&view=rev
> Log:
> fix test bug
>
> Modified:
> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
>
> Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
> URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java?rev=1433177&r1=1433176&r2=1433177&view=diff
> ==============================================================================
> --- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java (original)
> +++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java Mon Jan 14 22:29:29 2013
> @@ -354,16 +354,20 @@ public class TestIndexWriterWithThreads
> StackTraceElement[] trace = new Exception().getStackTrace();
> boolean sawAbortOrFlushDoc = false;
> boolean sawClose = false;
> + boolean sawMerge = false;
> for (int i = 0; i < trace.length; i++) {
> if ("abort".equals(trace[i].getMethodName()) ||
> "finishDocument".equals(trace[i].getMethodName())) {
> sawAbortOrFlushDoc = true;
> }
> + if ("merge".equals(trace[i])) {
> + sawMerge = true;
> + }
> if ("close".equals(trace[i].getMethodName())) {
> sawClose = true;
> }
> }
> - if (sawAbortOrFlushDoc && !sawClose) {
> + if (sawAbortOrFlushDoc && !sawClose && !sawMerge) {
> if (onlyOnce)
> doFail = false;
> //System.out.println(Thread.currentThread().getName() + ": now fail");
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org
Re: svn commit: r1433177 - /lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
Posted by Michael McCandless <lu...@mikemccandless.com>.
Thanks Robert.
Mike McCandless
http://blog.mikemccandless.com
On Sun, Jan 27, 2013 at 2:51 PM, Robert Muir <rc...@gmail.com> wrote:
> I committed a fix... just a silly equals() bug
>
> On Sun, Jan 27, 2013 at 2:42 PM, Robert Muir <rc...@gmail.com> wrote:
>> This still isnt quite right though, because now that we trip
>> exceptions during Codec's finishDocument (and this test uses
>> ConcurrentMergeScheduler explicitly!), its possible to have an
>> uncaught exception in another thread from the codec's
>> TermVectorsWriter finishDocument(): e.g.
>> http://fortyounce.servebeer.com/job/the%204547%20machine%20gun/848/console
>>
>> (run the seed with -Dtests.dups=20 and it will repro).
>>
>> Can we re-arrange the test better? Otherwise in its current form we
>> would have to add install/deinstall a uncaught exception handler just
>> for this case (or turn off CMS)
>>
>> On Mon, Jan 14, 2013 at 5:29 PM, <mi...@apache.org> wrote:
>>> Author: mikemccand
>>> Date: Mon Jan 14 22:29:29 2013
>>> New Revision: 1433177
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1433177&view=rev
>>> Log:
>>> fix test bug
>>>
>>> Modified:
>>> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
>>>
>>> Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
>>> URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java?rev=1433177&r1=1433176&r2=1433177&view=diff
>>> ==============================================================================
>>> --- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java (original)
>>> +++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java Mon Jan 14 22:29:29 2013
>>> @@ -354,16 +354,20 @@ public class TestIndexWriterWithThreads
>>> StackTraceElement[] trace = new Exception().getStackTrace();
>>> boolean sawAbortOrFlushDoc = false;
>>> boolean sawClose = false;
>>> + boolean sawMerge = false;
>>> for (int i = 0; i < trace.length; i++) {
>>> if ("abort".equals(trace[i].getMethodName()) ||
>>> "finishDocument".equals(trace[i].getMethodName())) {
>>> sawAbortOrFlushDoc = true;
>>> }
>>> + if ("merge".equals(trace[i])) {
>>> + sawMerge = true;
>>> + }
>>> if ("close".equals(trace[i].getMethodName())) {
>>> sawClose = true;
>>> }
>>> }
>>> - if (sawAbortOrFlushDoc && !sawClose) {
>>> + if (sawAbortOrFlushDoc && !sawClose && !sawMerge) {
>>> if (onlyOnce)
>>> doFail = false;
>>> //System.out.println(Thread.currentThread().getName() + ": now fail");
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org
Re: svn commit: r1433177 - /lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
Posted by Robert Muir <rc...@gmail.com>.
I committed a fix... just a silly equals() bug
On Sun, Jan 27, 2013 at 2:42 PM, Robert Muir <rc...@gmail.com> wrote:
> This still isnt quite right though, because now that we trip
> exceptions during Codec's finishDocument (and this test uses
> ConcurrentMergeScheduler explicitly!), its possible to have an
> uncaught exception in another thread from the codec's
> TermVectorsWriter finishDocument(): e.g.
> http://fortyounce.servebeer.com/job/the%204547%20machine%20gun/848/console
>
> (run the seed with -Dtests.dups=20 and it will repro).
>
> Can we re-arrange the test better? Otherwise in its current form we
> would have to add install/deinstall a uncaught exception handler just
> for this case (or turn off CMS)
>
> On Mon, Jan 14, 2013 at 5:29 PM, <mi...@apache.org> wrote:
>> Author: mikemccand
>> Date: Mon Jan 14 22:29:29 2013
>> New Revision: 1433177
>>
>> URL: http://svn.apache.org/viewvc?rev=1433177&view=rev
>> Log:
>> fix test bug
>>
>> Modified:
>> lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
>>
>> Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java
>> URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java?rev=1433177&r1=1433176&r2=1433177&view=diff
>> ==============================================================================
>> --- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java (original)
>> +++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterWithThreads.java Mon Jan 14 22:29:29 2013
>> @@ -354,16 +354,20 @@ public class TestIndexWriterWithThreads
>> StackTraceElement[] trace = new Exception().getStackTrace();
>> boolean sawAbortOrFlushDoc = false;
>> boolean sawClose = false;
>> + boolean sawMerge = false;
>> for (int i = 0; i < trace.length; i++) {
>> if ("abort".equals(trace[i].getMethodName()) ||
>> "finishDocument".equals(trace[i].getMethodName())) {
>> sawAbortOrFlushDoc = true;
>> }
>> + if ("merge".equals(trace[i])) {
>> + sawMerge = true;
>> + }
>> if ("close".equals(trace[i].getMethodName())) {
>> sawClose = true;
>> }
>> }
>> - if (sawAbortOrFlushDoc && !sawClose) {
>> + if (sawAbortOrFlushDoc && !sawClose && !sawMerge) {
>> if (onlyOnce)
>> doFail = false;
>> //System.out.println(Thread.currentThread().getName() + ": now fail");
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org