You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2018/02/15 15:49:00 UTC

[jira] [Commented] (HADOOP-15240) ITestS3AEmptyDirectory.testParallelJobsToAdjacentPaths failure, FileAlreadyExistsException

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

Steve Loughran commented on HADOOP-15240:
-----------------------------------------

Stack
{code}
[ERROR] testParallelJobsToAdjacentPaths(org.apache.hadoop.fs.s3a.commit.staging.integration.ITestPartitionedCommitProtocol)  Time elapsed: 13.471 s  <<< ERROR!
org.apache.hadoop.fs.FileAlreadyExistsException: File already exists: file:/Users/stevel/Projects/hadoop-trunk/hadoop-tools/hadoop-aws/target/build/test:fork-0002/job_200707120153_0002/_temporary/1/_temporary/attempt_200707120153_0002_m_000000_0/part-m-00000
	at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:300)
	at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:338)
	at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:401)
	at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:464)
	at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:443)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1169)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1149)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1038)
	at org.apache.hadoop.fs.s3a.commit.LoggingTextOutputFormat.getRecordWriter(LoggingTextOutputFormat.java:69)
	at org.apache.hadoop.fs.s3a.commit.AbstractITCommitProtocol.writeTextOutput(AbstractITCommitProtocol.java:332)
	at org.apache.hadoop.fs.s3a.commit.AbstractITCommitProtocol.testParallelJobsToAdjacentPaths(AbstractITCommitProtocol.java:1336)
	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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
{code}


> ITestS3AEmptyDirectory.testParallelJobsToAdjacentPaths failure, FileAlreadyExistsException
> ------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-15240
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15240
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3, test
>    Affects Versions: 3.1.0, 3.2.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>
> Transient {{ITestS3AEmptyDirectory.testParallelJobsToAdjacentPaths}} failure; {{FileAlreadyExistsException}} during the setup phase of the test -writing out the work to
> {{org.apache.hadoop.fs.FileAlreadyExistsException: File already exists: file:/Users/stevel/Projects/hadoop-trunk/hadoop-tools/hadoop-aws/target/build/test:fork-0002/job_200707120153_0002/_temporary/1/_temporary/attempt_200707120153_0002_m_000000_0/part-m-00000}}
> There's something wrong here as that path is a FileOutputCommitter workingDir path, not a partitioned committer. 
> Hypotheses: some filesystem caching in the test run is stopping the right committer from being picked up.
> It's possible that this has been happening for a while, but only some cleanup failure from a previous run has caught it.
> Proposed
> * add checks in the AbstractIT test to verify the right committer is picked up in the task context by probing for the working dir: file:// for staging, */__magic/* for magic.
> * and verify that success file is there.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org