steveloughran commented on a change in pull request #2801:
URL: https://github.com/apache/hadoop/pull/2801#discussion_r618655930
##########
File path:
hadoop-tools/hadoop-aws/src/site/markdown/tools/hadoop-aws/troubleshooting_s3a.md
##########
@@ -1036,6 +1036,39 @@
This includes resilient logging, HBase-style journaling
and the like. The standard strategy here is to save to HDFS and then copy to
S3.
+### <a name="syncable"></a> `UnsupportedOperationException` "S3A streams are
not Syncable. See HADOOP-17597."
+
+The application has tried to call either the `Syncable.hsync()` or
`Syncable.hflush()`
+methods on an S3A output stream. This has been rejected because the
+connector isn't saving any data at all. The `Syncable` API, especially the
+`hsync()` call, are critical for applications such as HBase to safely
+persist data.
+
+The S3A connector throws an `UnsupportedOperationException` when these API
calls
+are made, because the guarantees absolutely cannot be met: nothing is being
flushed
+or saved.
+
+* Applications which intend to invoke the Syncable APIs call
`hasCapability("hsync")` on
+ the stream to see if they are supported.
+* Or catch and downgrade `UnsupportedOperationException`.
+
+These recommendations _apply to all filesystems_.
+
+To downgrade the S3A connector to simplying warning of the use of
Review comment:
fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]