Affects Version/s: 3.3.0
Fix Version/s: None
Feature request from the Hive team. Add a way to declare that some part of a bucket is auth, while the rest of it isn't
This is pretty dangerous if you can start declaring arbitrary paths auth/non-auth, so here is my proposal
- bucket is considered non-auth
- only a single path is declared auth, after which all files under it will also be auth
- that path must be a single path element off root
- only operations which act within that path are auth.
- operations outside that path are non-auth
- anything which mixes (rename) is non-auth
- Lists on / are non-auth too.
- If a path is configured and it is not there, then everything is non-auth (i.e. its not an error, we just ignore the setting)
There's ~10 places in S3AFileSystem which could be changed from "isAuthoritative" to isAuthoritative(path); for rename we'd chedk src and dest