def __warn_user_if_wd_maybe_unreadable(self, abs_remote_path):
host, port, path = hdfs.path.split(abs_remote_path)<EOL>if host == '<STR_LIT>' and port == <NUM_LIT:0>:  <EOL><INDENT>host_port = "<STR_LIT>"<EOL><DEDENT>else:<EOL><INDENT>host_port = "<STR_LIT>" % (host, port)<EOL><DEDENT>path_pieces = path.strip('<STR_LIT:/>').split(os.path.sep)<EOL>fs = hdfs.hdfs(host, port)<EOL>for i in range(<NUM_LIT:0>, len(path_pieces)):<EOL><INDENT>part = os.path.join(<EOL>host_port, os.path.sep.join(path_pieces[<NUM_LIT:0>: i + <NUM_LIT:1>])<EOL>)<EOL>permissions = fs.get_path_info(part)['<STR_LIT>']<EOL>if permissions & <NUM_LIT> != <NUM_LIT>:<EOL><INDENT>self.logger.warning(<EOL>("<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"),<EOL>abs_remote_path, part, oct(permissions)<EOL>)<EOL>break<EOL><DEDENT><DEDENT>
Check directories above the remote module and issue a warning if
they are not traversable by all users.

The reasoning behind this is mainly aimed at set-ups with a
centralized Hadoop cluster, accessed by all users, and where
the Hadoop task tracker user is not a superuser; an example
may be if you're running a shared Hadoop without HDFS (using
only a POSIX shared file system).  The task tracker correctly
changes user to the job requester's user for most operations,
but not when initializing the distributed cache, so jobs who
want to place files not accessible by the Hadoop user into
dist cache fail.