[
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)