@@ -197,19 +197,26 @@ Here are the custom options which the S3A Connector supports.
197197
198198Prioritize file creation performance over safety checks for filesystem consistency.
199199
200- This
200+ This:
2012011 . Skips the ` LIST ` call which makes sure a file is being created over a directory.
202202 Risk: a file is created over a directory.
2032031 . Ignores the overwrite flag.
2042041 . Never issues a ` DELETE ` call to delete parent directory markers.
205- Risk: if directory markers have not already been leaned up, such as when creating the
206- parent directory or when a least one file has been created in or under the same
207- directory using the ` create() ` API or ` createFile() ` without this option.
208205
209206It is possible to probe an S3A Filesystem instance for this capability through
210207the ` hasPathCapability(path, "fs.s3a.create.performance") ` check.
211208
212- Using this option is the equivalent of pressing and holding down the "Electronic Stability Control"
209+ Creating files with this option over existing directories is likely
210+ to make S3A filesystem clients behave inconsistently.
211+
212+ Operations optimized for directories (e.g. listing calls) are likely
213+ to see the directory tree not the file; operations optimized for
214+ files (` getFileStatus() ` , ` isFile() ` ) more likely to see the file.
215+ The exact form of the inconsistencies, and which operations/parameters
216+ trigger this are undefined and may change between even minor releases.
217+
218+ Using this option is the equivalent of pressing and holding down the
219+ "Electronic Stability Control"
213220button on a rear-wheel drive car for five seconds: the safety checks are off.
214221Things wil be faster if the driver knew what you are doing.
215222If you don't, the fact they had held the button down will
0 commit comments