Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo, mail # dev - BadArgumentException in user.VisibilityFilterTest.testFilterUnauthorizedAndBad


Copy link to this message
-
Re: BadArgumentException in user.VisibilityFilterTest.testFilterUnauthorizedAndBad
Josh Elser 2013-02-26, 01:12
Coming from a position where I hate seeing these sorts of things in
build output, two things are can (easily) address this:

1) For tests which Exceptions are expected, ensure that loggers aren't
going to accidentally log it and reset the Log level when the test is done.

2) Enable redirectTestOutputToFile in the maven surefire plugin so that
STDOUT is redirected to a file inside of the build temp dir (target).

The latter is an easier fix that tends to be a bit more permanent.

As far as the correctness of the exception being printed, notice
VisibilityFilterTest#testFilterUnauthorizedAndBad also contains a
comment "if not explicitly filtering bad labels, they will still be
filtered while validating against authorizations, but it will be very
verbose in the logs", which leads me to believe what you're seeing is
expected behavior.

On 02/25/2013 06:23 PM, David Medinets wrote:
> I'm not sure if the following exception is expected. It does not cause
> the build to fail. If it is expected, does it makes sense to add a
> debug message something like "THE FOLLOWING BadArgumentException IS
> EXPECTED!"?
>
> 13/02/25 18:14:06 ERROR system.VisibilityFilter: Parse Error
> org.apache.accumulo.core.util.BadArgumentException: empty term near index 0
> &
> ^
>          at org.apache.accumulo.core.security.ColumnVisibility$ColumnVisibilityParser.processTerm(ColumnVisibility.java:240)
>          at org.apache.accumulo.core.security.ColumnVisibility$ColumnVisibilityParser.parse_(ColumnVisibility.java:253)
>          at org.apache.accumulo.core.security.ColumnVisibility$ColumnVisibilityParser.parse(ColumnVisibility.java:221)
>          at org.apache.accumulo.core.security.ColumnVisibility.validate(ColumnVisibility.java:354)
>          at org.apache.accumulo.core.security.ColumnVisibility.<init>(ColumnVisibility.java:430)
>          at org.apache.accumulo.core.security.ColumnVisibility.<init>(ColumnVisibility.java:388)
>          at org.apache.accumulo.core.iterators.system.VisibilityFilter.accept(VisibilityFilter.java:71)
>          at org.apache.accumulo.core.iterators.user.VisibilityFilter.accept(VisibilityFilter.java:85)
>          at org.apache.accumulo.core.iterators.Filter.findTop(Filter.java:72)
>          at org.apache.accumulo.core.iterators.Filter.seek(Filter.java:65)
>          at org.apache.accumulo.core.iterators.user.VisibilityFilterTest.verify(VisibilityFilterTest.java:85)
>          at org.apache.accumulo.core.iterators.user.VisibilityFilterTest.testFilterUnauthorizedAndBad(VisibilityFilterTest.java:187)
>          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>          at java.lang.reflect.Method.invoke(Method.java:601)
>          at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>          at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>          at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>          at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>          at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>          at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>          at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>          at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>          at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>          at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
           at org.junit.runners.ParentRunner.run(ParentRunner.java:309)