Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-5108 Changes needed for Binary Compatibility for MR applications via YARN
  3. MAPREDUCE-5529

Binary incompatibilities in mapred.lib.TotalOrderPartitioner between branch-1 and branch-2

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.1.1-beta
    • 2.2.0
    • mrv1, mrv2
    • None

    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).

      Attachments

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

        Activity

          People

            rkanter Robert Kanter
            rkanter Robert Kanter
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: