[ 
https://issues.apache.org/jira/browse/HADOOP-15579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16531569#comment-16531569
 ] 

Steve Loughran commented on HADOOP-15579:
-----------------------------------------

if your (indirectly imported site config has the following setting)

{code}
<property>
  <name>fs.azure.io.retry.min.backoff.interval</name>
  <value>100</value>
</property>
{code}

you get a stack trace, 

{code}
[ERROR] 
testConfigServiceImplAnnotatedFieldsInitialized(org.apache.hadoop.fs.azurebfs.services.TestAbfsConfigurationFieldsValidation)
  Time elapsed: 0.005 s  <<< FAILURE!
java.lang.AssertionError: expected:<3000> but was:<100>
  at org.junit.Assert.fail(Assert.java:88)
  at org.junit.Assert.failNotEquals(Assert.java:743)
  at org.junit.Assert.assertEquals(Assert.java:118)
  at org.junit.Assert.assertEquals(Assert.java:555)
  at org.junit.Assert.assertEquals(Assert.java:542)
  at 
org.apache.hadoop.fs.azurebfs.services.TestAbfsConfigurationFieldsValidation.testConfigServiceImplAnnotatedFieldsInitialized(TestAbfsConfigurationFieldsValidation.java:131)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  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:365)
  at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
  at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
  at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
  at 
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379)
  at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340)
  at 
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
  at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:413)
{code}

which can be tracked down to the value of the min backoff interval being out of 
range.

{code}
    assertEquals(DEFAULT_MIN_BACKOFF_INTERVAL, 
abfsConfiguration.getMinBackoffIntervalMilliseconds());
{code}

Proposed

# testConfigServiceImplAnnotatedFieldsInitialized: assertEquals to include 
field names, so that assert failures can be debugged. 
# test to be a proper unit test, by creating Configuration objects without 
loading in the site defaults,

That is, using {{new Configuration(false)}}.

> ABFS: TestAbfsConfigurationFieldsValidation breaks if FS is configured in 
> core-site
> -----------------------------------------------------------------------------------
>
>                 Key: HADOOP-15579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15579
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/azure
>    Affects Versions: HADOOP-15407
>            Reporter: Steve Loughran
>            Priority: Major
>
> {{TestAbfsConfigurationFieldsValidation.testConfigServiceImplAnnotatedFieldsInitialized}}
> Will fail if you have configured any of
> the properties in your abfs defaults/core-defaults imports. It is therefore
> (a) not a unit test and (b) brittle



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to