I don't think this is the correct fix. RollingLevelDBTimelineStore is using an immutable permission to specify the umask. If the proposed fix is to make it mutable, then that implies we're allowing a constant to be modified by the filesystem. If this permission were passed to multiple subsystems, having it magically mutate by one subsystem using it is probably not the correct approach.
Instead it appears to be a problem with ImmutableFsPermission. It prevents applyUmask from being invoked, but in reality applyUmask does not modify the permission object – it returns a new permission object instead. Therefore I think the real bug is that ImmutableFsPermission is preventing applyUmask from being invoked.