Hadoop Common
  1. Hadoop Common
  2. HADOOP-9193

hadoop script can inadvertently expand wildcard arguments when delegating to hdfs script

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.2-alpha, 0.23.5
    • Fix Version/s: 2.0.3-alpha, 0.23.7
    • Component/s: scripts
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      The hadoop front-end script will print a deprecation warning and defer to the hdfs front-end script for certain commands, like fsck, dfs. If a wildcard appears as an argument then it can be inadvertently expanded by the shell to match a local filesystem path before being sent to the hdfs script, which can be very confusing to the end user.

      For example, the following two commands usually perform very different things, even though they should be equivalent:

      hadoop fs -ls /tmp/\*
      hadoop dfs -ls /tmp/\*
      

      The former lists everything in the default filesystem under /tmp, while the latter expands /tmp/* into everything in the local filesystem under /tmp and passes those as arguments to try to list in the default filesystem.

      1. hadoop9193.diff
        1 kB
        Andy Isaacson

        Activity

        Allen Wittenauer made changes -
        Fix Version/s 3.0.0 [ 12320357 ]
        Arun C Murthy made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Thomas Graves made changes -
        Fix Version/s 0.23.7 [ 12323956 ]
        Todd Lipcon made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Hadoop Flags Reviewed [ 10343 ]
        Fix Version/s 3.0.0 [ 12320357 ]
        Fix Version/s 2.0.3-alpha [ 12323273 ]
        Resolution Fixed [ 1 ]
        Andy Isaacson made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Andy Isaacson made changes -
        Assignee Robert Parker [ robsparker ] Andy Isaacson [ adi2 ]
        Andy Isaacson made changes -
        Attachment hadoop9193.diff [ 12564049 ]
        Robert Parker made changes -
        Assignee Robert Parker [ robsparker ]
        Andy Isaacson made changes -
        Field Original Value New Value
        Description The hadoop front-end script will print a deprecation warning and defer to the hdfs front-end script for certain commands, like fsck, dfs. If a wildcard appears as an argument then it can be inadvertently expanded by the shell to match a local filesystem path before being sent to the hdfs script, which can be very confusing to the end user.

        For example, the following two commands usually perform very different things, even though they should be equivalent:

        hadoop fs -ls /tmp/\*
        hadoop dfs -ls /tmp/\*

        The former lists everything in the default filesystem under /tmp, while the latter expands /tmp/\* into everything in the *local* filesystem under /tmp and passes those as arguments to try to list in the default filesystem.
        The hadoop front-end script will print a deprecation warning and defer to the hdfs front-end script for certain commands, like fsck, dfs. If a wildcard appears as an argument then it can be inadvertently expanded by the shell to match a local filesystem path before being sent to the hdfs script, which can be very confusing to the end user.

        For example, the following two commands usually perform very different things, even though they should be equivalent:
        {code}
        hadoop fs -ls /tmp/\*
        hadoop dfs -ls /tmp/\*
        {code}
        The former lists everything in the default filesystem under /tmp, while the latter expands /tmp/\* into everything in the *local* filesystem under /tmp and passes those as arguments to try to list in the default filesystem.
        Jason Lowe created issue -

          People

          • Assignee:
            Andy Isaacson
            Reporter:
            Jason Lowe
          • Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development