PutHDFS does not use the value of "fs.permissions.umask-mode" in hdfs-site.xml. If the user does not provide a umask in the "Permissions umask" property, PutHDFS will use FsPermissions.DEFAULT_UMASK and set that in the config, which will overwrite the value from hdfs-site.xml.
The code below shows that without the "Permissions umask" property being set, it will force a umask of '18', the value of FsPermission.DEFAULT_MASK.
Instead, PutHDFS should first check the Configuration instance to see if "fs.permissions.umask-mode" is set and use that value. FsPermission.DEFAULT_MASK should be used only in the case when "fs.permissions.umask-mode" is not set.