[
https://issues.apache.org/jira/browse/HADOOP-8962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481848#comment-13481848
]
Jason Lowe commented on HADOOP-8962:
------------------------------------
One way this occurs is when a distributed cache archive is being localized and
the archive contains files with ':' in their names. The job fails to start
because localization fails with an exception like this:
{noformat}
2012-10-22 21:04:03,636 INFO [main] mapreduce.Job
(Job.java:monitorAndPrintJob(1308)) - Job job_1350939622571_0001 failed with
state FAILED due to: Application application_1350939622571_0001 failed 1 times
due to AM Container for appattempt_1350939622571_0001_000001 exited with
exitCode: -1000 due to: RemoteTrace:
java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path
in absolute URI: Net::SSL.3pm
at org.apache.hadoop.fs.Path.initialize(Path.java:157)
at org.apache.hadoop.fs.Path.<init>(Path.java:135)
at org.apache.hadoop.fs.Path.<init>(Path.java:58)
at
org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:361)
at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1419)
at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1459)
at
org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:569)
at
org.apache.hadoop.yarn.util.FSDownload.changePermissions(FSDownload.java:262)
at
org.apache.hadoop.yarn.util.FSDownload.changePermissions(FSDownload.java:264)
at
org.apache.hadoop.yarn.util.FSDownload.changePermissions(FSDownload.java:264)
at
org.apache.hadoop.yarn.util.FSDownload.changePermissions(FSDownload.java:264)
at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:206)
at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.URISyntaxException: Relative path in absolute URI:
Net::SSL.3pm
at java.net.URI.checkPath(URI.java:1787)
at java.net.URI.<init>(URI.java:735)
at org.apache.hadoop.fs.Path.initialize(Path.java:154)
... 20 more
at LocalTrace:
org.apache.hadoop.yarn.exceptions.impl.pb.YarnRemoteExceptionPBImpl:
java.net.URISyntaxException: Relative path in absolute URI: Net::SSL.3pm
at
org.apache.hadoop.yarn.server.nodemanager.api.protocolrecords.impl.pb.LocalResourceStatusPBImpl.convertFromProtoFormat(LocalResourceStatusPBImpl.java:217)
at
org.apache.hadoop.yarn.server.nodemanager.api.protocolrecords.impl.pb.LocalResourceStatusPBImpl.getException(LocalResourceStatusPBImpl.java:147)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerRunner.update(ResourceLocalizationService.java:824)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService$LocalizerTracker.processHeartbeat(ResourceLocalizationService.java:493)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService.heartbeat(ResourceLocalizationService.java:222)
at
org.apache.hadoop.yarn.server.nodemanager.api.impl.pb.service.LocalizationProtocolPBServiceImpl.heartbeat(LocalizationProtocolPBServiceImpl.java:46)
at
org.apache.hadoop.yarn.proto.LocalizationProtocol$LocalizationProtocolService$2.callBlockingMethod(LocalizationProtocol.java:57)
at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:474)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1018)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1738)
Caused by: org.apache.hadoop.yarn.exceptions.impl.pb.YarnRemoteExceptionPBImpl:
Relative path in absolute URI: Net::SSL.3pm
at
org.apache.hadoop.yarn.exceptions.impl.pb.YarnRemoteExceptionPBImpl.getCause(YarnRemoteExceptionPBImpl.java:94)
at
org.apache.hadoop.yarn.exceptions.YarnRemoteException.getCause(YarnRemoteException.java:25)
at java.lang.Throwable.printStackTrace(Throwable.java:514)
at
org.apache.hadoop.yarn.exceptions.YarnRemoteException.printStackTrace(YarnRemoteException.java:48)
at
org.apache.hadoop.util.StringUtils.stringifyException(StringUtils.java:70)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerImpl$ResourceFailedTransition.transition(ContainerImpl.java:701)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerImpl$ResourceFailedTransition.transition(ContainerImpl.java:1)
at
org.apache.hadoop.yarn.state.StateMachineFactory$SingleInternalArc.doTransition(StateMachineFactory.java:359)
at
org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:299)
at
org.apache.hadoop.yarn.state.StateMachineFactory.access$3(StateMachineFactory.java:287)
at
org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:445)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerImpl.handle(ContainerImpl.java:827)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerImpl.handle(ContainerImpl.java:1)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl$ContainerEventDispatcher.handle(ContainerManagerImpl.java:554)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl$ContainerEventDispatcher.handle(ContainerManagerImpl.java:1)
at
org.apache.hadoop.yarn.event.AsyncDispatcher.dispatch(AsyncDispatcher.java:128)
at
org.apache.hadoop.yarn.event.AsyncDispatcher$1.run(AsyncDispatcher.java:77)
at java.lang.Thread.run(Thread.java:662)
.Failing this attempt.. Failing the application.
{noformat}
RawLocalFileSystem.listStatus is assuming that for a directory Path X it can
create Path objects for each filename Y under the directory by calling Path(X,
new Path(Y)), but this fails if Y contains a colon character. It needs to
fully qualify the path so the Path constructor doesn't try to parse the child
filename looking for a URI scheme that isn't there.
> RawLocalFileSystem.listStatus fails when a child filename contains a colon
> --------------------------------------------------------------------------
>
> Key: HADOOP-8962
> URL: https://issues.apache.org/jira/browse/HADOOP-8962
> Project: Hadoop Common
> Issue Type: Bug
> Components: fs
> Affects Versions: 0.23.3
> Reporter: Jason Lowe
> Priority: Critical
>
> If listStatus is called on a directory that contains a file with a ':' in its
> name then it mistakenly thinks there is a scheme being specified and an
> exception is thrown because of a relative URI.
--
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