[
https://issues.apache.org/jira/browse/YARN-530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Loughran updated YARN-530:
--------------------------------
Attachment: YARN-530-021.patch
This patch manages all the MR services properly -the change was trivial, once
tracked down. Rather than synchronize on the service itself for state changes,
we synchronize on a specific {{stateChangeLock}} -ensures that this doesn't
create any locks elsewhere.
When applied on its own, the YARN changes will successfully run all the
MapReduce tests except for two in {{TestStagingCleanup}} which are actually due
to {{ContainerLauncherRouter}} not checking {{containerLauncher}} for nullness
before stopping -and the shutdown hook calling it in INITED state, not STARTED
-i.e. is due to the stop() code not being robust enough to stop when not
started. That's fixed in the main MapReduce patch, because it does add the null
reference checks
{code}
testDeletionofStagingOnKill(org.apache.hadoop.mapreduce.v2.app.TestStagingCleanup)
Time elapsed: 57 sec <<< ERROR!
java.lang.NullPointerException
at
org.apache.hadoop.mapreduce.v2.app.MRAppMaster$ContainerLauncherRouter.stop(MRAppMaster.java:865)
at
org.apache.hadoop.yarn.service.ServiceOperations.stop(ServiceOperations.java:51)
at
org.apache.hadoop.yarn.service.ServiceOperations.stopQuietly(ServiceOperations.java:79)
at
org.apache.hadoop.yarn.service.CompositeService.stop(CompositeService.java:135)
at
org.apache.hadoop.yarn.service.CompositeService.serviceStop(CompositeService.java:108)
at
org.apache.hadoop.yarn.service.AbstractService.stop(AbstractService.java:216)
at
org.apache.hadoop.mapreduce.v2.app.MRAppMaster$MRAppMasterShutdownHook.run(MRAppMaster.java:1350)
at
org.apache.hadoop.mapreduce.v2.app.TestStagingCleanup.testDeletionofStagingOnKill(TestStagingCleanup.java:167)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
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:115)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
{code}
> Define Service model strictly, implement AbstractService for robust
> subclassing, migrate yarn-common services
> -------------------------------------------------------------------------------------------------------------
>
> Key: YARN-530
> URL: https://issues.apache.org/jira/browse/YARN-530
> Project: Hadoop YARN
> Issue Type: Sub-task
> Affects Versions: 2.0.4-alpha
> Reporter: Steve Loughran
> Assignee: Steve Loughran
> Attachments: YARN-117-019.patch, YARN-117changes.pdf,
> YARN-530-005.patch, YARN-530-008.patch, YARN-530-009.patch,
> YARN-530-010.patch, YARN-530-011.patch, YARN-530-012.patch,
> YARN-530-013.patch, YARN-530-014.patch, YARN-530-015.patch,
> YARN-530-016.patch, YARN-530-017.patch, YARN-530-018.patch,
> YARN-530-019.patch, YARN-530-020.patch, YARN-530-021.patch, YARN-530-2.patch,
> YARN-530-3.patch, YARN-530.4.patch, YARN-530.patch
>
>
> # Extend the YARN {{Service}} interface as discussed in YARN-117
> # Implement the changes in {{AbstractService}} and {{FilterService}}.
> # Migrate all services in yarn-common to the more robust service model, test.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira