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

Steve Loughran commented on HADOOP-11556:
-----------------------------------------

the partitioned bit of swift is something that is best described as 
"troublesome". It appears to violate some of the core semantics of a filesystem 
(size of a file in a directory listing == size of file in stat() == amount of 
data you can read), and things like rename get very confused.

Declaring swiftfs an object store with expensive renames via HADOOP-9565, along 
with your fs -put improvements could somewhat improve this situation. 

I believe that swift now supports >5GB files...adding support for that would 
also help


> SwiftNativeFileSystem rename being interrupted during "fs -put"
> ---------------------------------------------------------------
>
>                 Key: HADOOP-11556
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11556
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs, fs/swift
>    Affects Versions: 2.6.0
>            Reporter: Lei (Eddy) Xu
>
> When running {{hadoop fs -put  bar  swift://... }},  {{FsShell}} writes to 
> {{bar._COPYING_}} first, and then renames it to "bar". 
> However, it fails when the file is partitioned uploaded. 
> {code}
> 15/02/06 21:00:49 DEBUG snative.SwiftNativeFileSystemStore: Source file 
> appears to be partitioned. copying file and deleting children
> 15/02/06 21:00:49 DEBUG params.DefaultHttpParams: Set parameter 
> http.method.retry-handler = 
> org.apache.commons.httpclient.DefaultHttpMethodRetryHandler@26bf4e60
> 15/02/06 21:00:49 DEBUG params.DefaultHttpParams: Set parameter 
> http.connection.timeout = 15000
> 15/02/06 21:00:49 DEBUG params.DefaultHttpParams: Set parameter 
> http.socket.timeout = 60000
> 15/02/06 21:00:49 DEBUG http.SwiftRestClient: COPY 
> https://snet-storage101.iad3.clouddrive.com/v1/MossoCloudFS_946265/foo/bar._COPYING_
> X-Auth-Token: ...
> Destination: foo/bar
> User-Agent: Apache Hadoop Swift Client 3.0.0-SNAPSHOT from ... by root source 
> checksum ...
> 15/02/06 21:00:49 DEBUG httpclient.HttpConnection: Open connection to 
> snet-storage101.iad3.clouddrive.com:443
> 15/02/06 21:00:49 DEBUG wire.header: >> "COPY 
> /v1/MossoCloudFS_946265/foo/bar._COPYING_ HTTP/1.1[\r][\n]"
> 15/02/06 21:00:49 DEBUG httpclient.HttpMethodBase: Adding Host request header
> 15/02/06 21:00:49 DEBUG wire.header: >> "X-Auth-Token: ...[\r][\n]"
> 15/02/06 21:00:49 DEBUG wire.header: >> "Destination: foo/bar[\r][\n]"
> 15/02/06 21:00:49 DEBUG wire.header: >> "User-Agent: Apache Hadoop Swift 
> Client 3.0.0-SNAPSHOT from ... by root source checksum ...[\r][\n]"
> 15/02/06 21:00:49 DEBUG wire.header: >> "Host: 
> snet-storage101.iad3.clouddrive.com[\r][\n]"
> 15/02/06 21:00:49 DEBUG wire.header: >> "Content-Length: 0[\r][\n]"
> 15/02/06 21:00:49 DEBUG wire.header: >> "[\r][\n]"
> 15/02/06 21:00:49 DEBUG methods.EntityEnclosingMethod: Request body has not 
> been specified
> 15/02/06 21:01:49 DEBUG httpclient.HttpMethodDirector: Closing the connection.
> 15/02/06 21:01:49 DEBUG httpclient.HttpMethodDirector: Method retry handler 
> returned false. Automatic recovery will not be attempted
> 15/02/06 21:01:49 DEBUG httpclient.HttpConnection: Releasing connection back 
> to connection manager.
> 15/02/06 21:01:49 DEBUG httpclient.HttpConnection: Releasing connection back 
> to connection manager.
> {code}
> The {{bar}} file eventually shows up in Swift. However, the {{bar._COPYING_}} 
> directories and the manifest file are not deleted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to