Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.1.1-beta
    • Fix Version/s: 2.2.0
    • Component/s: mrv1, mrv2
    • Labels:
      None
    • Target Version/s:

      Description

      mapred.lib.TotalOrderPartitioner in branch-1 has these two methods:

      public static String getPartitionFile(JobConf job)
      public static void setPartitionFile(JobConf job, Path p)
      

      In branch-2, mapred.lib.TotalOrderPartitioner is now a subclass of mapred.lib.TotalOrderPartitioner, from which it inherits the similar methods:

      public static String getPartitionFile(Configuration conf)
      public static void setPartitionFile(Configuration conf, Path p)
      

      This means that any code that does either of the following:

      TotalOrderPartitioner.setPartitionFile(new JobConf(), new Path("/"));
      String str = TotalOrderPartitioner.getPartitionFile(new JobConf());
      

      will not be binary compatible (that is, if compiled against branch-1, it will throw a NoSuchMethodError if run against branch-2).

      1. MAPREDUCE-5529.patch
        1 kB
        Robert Kanter
      2. MAPREDUCE-5529.patch
        2 kB
        Robert Kanter
      3. MAPREDUCE-5529_branch_2.patch
        2 kB
        Arun C Murthy

        Activity

        Vinod Kumar Vavilapalli made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Arun C Murthy made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Fix Version/s 2.1.2-beta [ 12325050 ]
        Resolution Fixed [ 1 ]
        Arun C Murthy made changes -
        Attachment MAPREDUCE-5529_branch_2.patch [ 12605536 ]
        Robert Kanter made changes -
        Attachment MAPREDUCE-5529.patch [ 12604924 ]
        Arun C Murthy made changes -
        Target Version/s 2.1.2-beta [ 12325050 ]
        Zhijie Shen made changes -
        Parent MAPREDUCE-5108 [ 12639466 ]
        Issue Type Bug [ 1 ] Sub-task [ 7 ]
        Robert Kanter made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Robert Kanter made changes -
        Description {{mapred.lib.TotalPartitioner}} in branch-1 has these two methods:
        {code:java}
        public static String getPartitionFile(JobConf job)
        public static void setPartitionFile(JobConf job, Path p)
        {code}

        In branch-2, {{mapred.lib.TotalPartitioner}} is now a subclass of {{mapreduce.lib.TotalPartitioner}}, from which it inherits the similar methods:
        {code:java}
        public static String getPartitionFile(Configuration conf)
        public static void setPartitionFile(Configuration conf, Path p)
        {code}

        This means that any code that does either of the following:
        {code:java}
        TotalOrderPartitioner.setPartitionFile(new JobConf(), new Path("/"));
        String str = TotalOrderPartitioner.getPartitionFile(new JobConf());
        {code}
        will not be binary compatible (that is, if compiled against branch-1, it will throw a {{NoSuchMethodError}} if run against branch-2).
        {{mapred.lib.TotalOrderPartitioner}} in branch-1 has these two methods:
        {code:java}
        public static String getPartitionFile(JobConf job)
        public static void setPartitionFile(JobConf job, Path p)
        {code}

        In branch-2, {{mapred.lib.TotalOrderPartitioner}} is now a subclass of {{mapred.lib.TotalOrderPartitioner}}, from which it inherits the similar methods:
        {code:java}
        public static String getPartitionFile(Configuration conf)
        public static void setPartitionFile(Configuration conf, Path p)
        {code}

        This means that any code that does either of the following:
        {code:java}
        TotalOrderPartitioner.setPartitionFile(new JobConf(), new Path("/"));
        String str = TotalOrderPartitioner.getPartitionFile(new JobConf());
        {code}
        will not be binary compatible (that is, if compiled against branch-1, it will throw a {{NoSuchMethodError}} if run against branch-2).
        Robert Kanter made changes -
        Field Original Value New Value
        Attachment MAPREDUCE-5529.patch [ 12604702 ]
        Robert Kanter created issue -

          People

          • Assignee:
            Robert Kanter
            Reporter:
            Robert Kanter
          • Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development