Currently it is impossible to specify APPLICATION level for files in distributed cache in YARN. For applications with big common data it is very crucial to have ability to share data only for application and do not spam public cache. Moreover, public localiser is limited for parallel downloads, so applications with big caches affect application startup of other applications.
Current logic is complicated and based on file permissions. Making proposed changes, user can override public level to any level (PUBLIC/APP/PRIVATE) without breaking anything, and ever not need to bother with permission, if private cache is needed.