Commit d3a7fd5
committed
Disable existence checks in S3OutputFile.create
Restore the behavior before as it was before support for conditional
writes was introduced. File existence checks are not implemented for
multi-part upload code path (the `FileAlreadyExistsException` is throw
only when multi-part did not take place). Furthermore, file existence
checks can break file writes when the call is retried on the AWS SDK
level. Fixing both these issues is possible, but not necessary: users of
`TrinoOutputFile.create` cannot assume particular behavior and file
system implementation is allowed to overwrite existing files.
Atomic writes are necessary for Delta's connector transaction log
synchronizer `S3ConditionalWriteLogSynchronizer`, but is explicitly
invokes `TrinoOutputFile.createExclusive` API.1 parent 1de55e9 commit d3a7fd5
File tree
3 files changed
+7
-7
lines changed- lib/trino-filesystem-s3/src
- main/java/io/trino/filesystem/s3
- test/java/io/trino/filesystem/s3
3 files changed
+7
-7
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
97 | 103 | | |
98 | 104 | | |
99 | 105 | | |
| |||
Lines changed: 0 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | 41 | | |
48 | 42 | | |
49 | 43 | | |
| |||
0 commit comments