accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <josh.el...@gmail.com>
Subject Re: BadArgumentException in user.VisibilityFilterTest.testFilterUnauthorizedAndBad
Date Tue, 26 Feb 2013 01:12:58 GMT
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)
>          at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:236)
>          at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
>          at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
>          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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>          at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>          at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>          at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
>          at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
>

Mime
View raw message