You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2015/07/11 02:30:04 UTC
[jira] [Updated] (OOZIE-2300)
TestAuthFilterAuthOozieClient.testClientAuthTokenCache fails with Hadoop
2.7.0 and later
[ https://issues.apache.org/jira/browse/OOZIE-2300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Kanter updated OOZIE-2300:
---------------------------------
Attachment: OOZIE-2300.001.patch
In Hadoop 2.7.0, due to HADOOP-11748, using a String as a secret for signing tokens is no longer (easily) allowed; it falls back to a randomly generated secret, which changes in the test because the test effectively restarts the Oozie servlet. This is a backwards incompatible change that was made for security reasons. The {{StringSignerSecretProvider}} is still there, but it's now package private and in the hadoop-auth test package. So, the fix is to use the {{FileSignerSecretProvider}} that was added in Hadoop 2.7.0 if it's available, and otherwise use the old behavior. I also put in a big comment explaining all this.
> TestAuthFilterAuthOozieClient.testClientAuthTokenCache fails with Hadoop 2.7.0 and later
> ----------------------------------------------------------------------------------------
>
> Key: OOZIE-2300
> URL: https://issues.apache.org/jira/browse/OOZIE-2300
> Project: Oozie
> Issue Type: Bug
> Components: tests
> Affects Versions: trunk
> Reporter: Robert Kanter
> Assignee: Robert Kanter
> Attachments: OOZIE-2300.001.patch
>
>
> {{TestAuthFilterAuthOozieClient.testClientAuthTokenCache}} fails when using Hadoop 2.7.0 with an error like the following:
> {noformat}
> junit.framework.ComparisonFailure: expected:<...=simple&e=1436527815[019&s=I26LZeAVi88nSiiDF0llxZK8Uh8]="> but was:<...=simple&e=1436527815[290&s=V+usAXuaEWSyfMFUnxcbnGzVuCk]=">
> at junit.framework.Assert.assertEquals(Assert.java:85)
> at junit.framework.Assert.assertEquals(Assert.java:91)
> at org.apache.oozie.servlet.TestAuthFilterAuthOozieClient.__CLR4_0_3rniedn1jfd(TestAuthFilterAuthOozieClient.java:203)
> at org.apache.oozie.servlet.TestAuthFilterAuthOozieClient.testClientAuthTokenCache(TestAuthFilterAuthOozieClient.java:158)
> 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:606)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:243)
> at junit.framework.TestSuite.run(TestSuite.java:238)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> at org.junit.runners.Suite.runChild(Suite.java:128)
> at org.junit.runners.Suite.runChild(Suite.java:24)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> The test tries to compare that the token file was re-used by checking that they have the same token, and it's finding that they are different.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)