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

Carlos O'Ryan commented on ARROW-12509:
---------------------------------------

Sorry I missed this.  I think the behavior you observed in the testbench is 
accurate.  Consider the case where two uploads started more or less at the same 
time with `ifGenerationMatch(0)`.  You want both to be able to start (1), so 
the POST must succeed, and only one to be able to finish, so the PUT must fail.

 

(1): Why?  Because if the first uploads is abandoned there is no reason to 
prevent the first one from starting, in fact, it would be bad if you did. 

> [C++] More fine-grained control of file creation in filesystem layer
> --------------------------------------------------------------------
>
>                 Key: ARROW-12509
>                 URL: https://issues.apache.org/jira/browse/ARROW-12509
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Antoine Pitrou
>            Assignee: Antoine Pitrou
>            Priority: Major
>
> {{FileSystem::OpenOutputStream}} silently truncates an existing file.
> It would be better to give more control to the user. Ideally, one could 
> choose between several options: "always overwrite and fail if doesn't exist", 
> "overwrite if exists, otherwise create", "creates if doesn't exist, otherwise 
> fails".
> One should research whether e.g. S3 supports such control.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to