You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Erick Erickson <er...@gmail.com> on 2018/09/07 15:19:12 UTC

DistanceUnitsTest failure

Particularly David Smiley may be intereasted:

FAILED:  junit.framework.TestSuite.org.apache.solr.util.DistanceUnitsTest

Error Message:
The test or suite printed 184196 bytes to stdout and stderr, even
though the limit was set to 8192 bytes. Increase the limit with
@Limit, ignore it completely with @SuppressSysoutChecks or run with
-Dtests.verbose=true

I don't see a "reproduce with" line.

I'm looking through failed test e-mail a little more closely due to
the async logger changes and noticed this.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Re: DistanceUnitsTest failure

Posted by David Smiley <da...@gmail.com>.
Via fucit.org I grabbed the test logs reported from sarowe's build machine:

ant test  -Dtestcase=DistanceUnitsTest -Dtests.seed=2A4319779B036482
-Dtests.slow=true -Dtests.locale=ar-KW -Dtests.timezone=Asia/Srednekolymsk
-Dtests.asserts=true -Dtests.file.encoding=ISO-8859-1

Does not reproduce.

I suspect this is another case where we have a Solr test that extends
LuceneTestCase instead of SolrTestCaseJ4.  It has been just fine up till
now but recently seems to be a problem with regards to logging.  There are
a ton of such tests, e.g. UUIDFieldTest and 100+ more.  Perhaps the
underlying issue can be fixed instead of requiring Solr's tests to extend
SolrTestCaseJ4.  Shrug.

On Fri, Sep 7, 2018 at 2:49 PM Dawid Weiss <da...@gmail.com> wrote:

> > My word I hope not. Async in this context is all relative to log4J.
> > [...]
> > If the same logger is used between tests in
>
> If it's asynchronous then this probably means the log is left in some
> buffer where it's then picked up by another thread and passed to a
> collector (an appender in log4j nomenclature). If this is the case
> then I don't see how you can guarantee logs don't cross test
> boundaries or even suite boundaries. We'd need some sort of
> log4j-internal "flush" to ensure logs are flushed before the end of
> the test/ suite.
>
> I'd love to be able to help out with this, but I'll be pretty much
> away for the weekend. Maybe next week I'll find some time.
>
> Dawid
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
> --
Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker
LinkedIn: http://linkedin.com/in/davidwsmiley | Book:
http://www.solrenterprisesearchserver.com

Re: DistanceUnitsTest failure

Posted by Dawid Weiss <da...@gmail.com>.
> My word I hope not. Async in this context is all relative to log4J.
> [...]
> If the same logger is used between tests in

If it's asynchronous then this probably means the log is left in some
buffer where it's then picked up by another thread and passed to a
collector (an appender in log4j nomenclature). If this is the case
then I don't see how you can guarantee logs don't cross test
boundaries or even suite boundaries. We'd need some sort of
log4j-internal "flush" to ensure logs are flushed before the end of
the test/ suite.

I'd love to be able to help out with this, but I'll be pretty much
away for the weekend. Maybe next week I'll find some time.

Dawid

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Re: DistanceUnitsTest failure

Posted by Erick Erickson <er...@gmail.com>.
bq. it should print the same amount of information and then fail due
to exceeded limit

oops, I just looked for "reproduce with" and didn't find it. Here's the
seed, thanks!

 at __randomizedtesting.SeedInfo.seed([5CDD6D6056E6B15B]:0)

bq. in this context mean that the logs from one test may spill to another

My word I hope not. Async in this context is all relative to log4J.

IIUC

If the same logger is used between tests in
the _same_ suite, the output is ordered.

And if different loggers are used, the logging should be
associated with the most-recently-opened logger. If that
assumption is false, we need to explicitly close loggers,
but that would surprise me a _lot_.

I'd argue that if log messages go to loggers in another
test suite, well, I'd be very surprised.

Erick
On Fri, Sep 7, 2018 at 8:29 AM Dawid Weiss <da...@gmail.com> wrote:
>
> I didn't look at it, but does "asynchronous" in this context mean that
> the logs from one test may spill to another? This would be very bad.
>
> The message about exceeded limit indicates exactly what it says -- the
> reproduce should be just by rerunning the test with the same master
> seed (it should print the same amount of information and then fail due
> to exceeded limit).
>
> D.
> On Fri, Sep 7, 2018 at 5:19 PM Erick Erickson <er...@gmail.com> wrote:
> >
> > Particularly David Smiley may be intereasted:
> >
> > FAILED:  junit.framework.TestSuite.org.apache.solr.util.DistanceUnitsTest
> >
> > Error Message:
> > The test or suite printed 184196 bytes to stdout and stderr, even
> > though the limit was set to 8192 bytes. Increase the limit with
> > @Limit, ignore it completely with @SuppressSysoutChecks or run with
> > -Dtests.verbose=true
> >
> > I don't see a "reproduce with" line.
> >
> > I'm looking through failed test e-mail a little more closely due to
> > the async logger changes and noticed this.
> >
> > ---------------------------------------------------------------------
> > 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
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Re: DistanceUnitsTest failure

Posted by Dawid Weiss <da...@gmail.com>.
I didn't look at it, but does "asynchronous" in this context mean that
the logs from one test may spill to another? This would be very bad.

The message about exceeded limit indicates exactly what it says -- the
reproduce should be just by rerunning the test with the same master
seed (it should print the same amount of information and then fail due
to exceeded limit).

D.
On Fri, Sep 7, 2018 at 5:19 PM Erick Erickson <er...@gmail.com> wrote:
>
> Particularly David Smiley may be intereasted:
>
> FAILED:  junit.framework.TestSuite.org.apache.solr.util.DistanceUnitsTest
>
> Error Message:
> The test or suite printed 184196 bytes to stdout and stderr, even
> though the limit was set to 8192 bytes. Increase the limit with
> @Limit, ignore it completely with @SuppressSysoutChecks or run with
> -Dtests.verbose=true
>
> I don't see a "reproduce with" line.
>
> I'm looking through failed test e-mail a little more closely due to
> the async logger changes and noticed this.
>
> ---------------------------------------------------------------------
> 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