HDFS-11644 added a way to probe streams for capabilities, with dfsoutput stream implementing some.
We should roll this out to all our output streams, with capabilities to define
- is metadata in sync with flushed data (HDFS: no)
- does LocalFileSystem really do a sync/flush (as I don't think any subclass of ChecksumFS does, so FSOutputSummer should declare this in its capabilities
- are intermediate writes visible at all?
- Is close() potentially a long operation (for object stores, yes, on a case-by-case basis)
We'll need useful names for these options, obviously, tests, etc etc