Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-1157

Modifications introduced by HDFS-1150 are breaking aspect's bindings

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.22.0
    • Fix Version/s: 0.22.0
    • Component/s: test
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Tags:
      herriot

      Description

      Modifications introduced by HDFS-1150 to DataNode class brakes the binding of some of Herriot (test framework) bindings. This JIRA is to track the fix.

      1. hdfs-1157.patch
        2 kB
        Konstantin Boudnik

        Issue Links

          Activity

          Konstantin Boudnik created issue -
          Hide
          Konstantin Boudnik added a comment -

          Patch to address the problem.
          It can't be verified until HDFS-1150 is committed to the trunk

          Show
          Konstantin Boudnik added a comment - Patch to address the problem. It can't be verified until HDFS-1150 is committed to the trunk
          Konstantin Boudnik made changes -
          Field Original Value New Value
          Attachment hdfs-1157.patch [ 12444716 ]
          Konstantin Boudnik made changes -
          Link This issue is blocked by HDFS-1150 [ HDFS-1150 ]
          Konstantin Boudnik made changes -
          Parent HDFS-1134 [ 12463952 ]
          Issue Type Sub-task [ 7 ] Bug [ 1 ]
          Konstantin Boudnik made changes -
          Link This issue depends on HDFS-1134 [ HDFS-1134 ]
          Konstantin Boudnik made changes -
          Assignee Konstantin Boudnik [ cos ]
          Hide
          Konstantin Boudnik added a comment -

          I have verified that the patch works for current HDFS trunk despite that HDFS-1150's patch for trunk was a little different than for y20. So, the patch is still valid.

          The reason for the modification is as follows: the call to the original constructor with two parameters has been replaced with call to the new one

                return new DataNode(conf, dirs, resources);
          

          While this is a totally compatible change from the Java perspective, one of Herriot aspects was bound to the 'call to the constructor with 2 params' and has been broken as the result of the change

          Show
          Konstantin Boudnik added a comment - I have verified that the patch works for current HDFS trunk despite that HDFS-1150 's patch for trunk was a little different than for y20. So, the patch is still valid. The reason for the modification is as follows: the call to the original constructor with two parameters has been replaced with call to the new one return new DataNode(conf, dirs, resources); While this is a totally compatible change from the Java perspective, one of Herriot aspects was bound to the 'call to the constructor with 2 params' and has been broken as the result of the change
          Hide
          Jakob Homan added a comment -

          Looks reasonable. +1 pending Hudson (assuming he showed up today...).

          Show
          Jakob Homan added a comment - Looks reasonable. +1 pending Hudson (assuming he showed up today...).
          Jakob Homan made changes -
          Hadoop Flags [Reviewed]
          Hide
          Kan Zhang added a comment -

          I've seen other AspectJ related test failures, many due to the same reason (method signatures got changed without changing the AspectJ matching logic). Do AspectJ based tests get run on Hudson (or required to pass)?

          Show
          Kan Zhang added a comment - I've seen other AspectJ related test failures, many due to the same reason (method signatures got changed without changing the AspectJ matching logic). Do AspectJ based tests get run on Hudson (or required to pass)?
          Hide
          Konstantin Boudnik added a comment -

          Like HDFS-1150 it affects only 0.22

          Show
          Konstantin Boudnik added a comment - Like HDFS-1150 it affects only 0.22
          Konstantin Boudnik made changes -
          Affects Version/s 0.22.0 [ 12314241 ]
          Affects Version/s 0.20.3 [ 12314814 ]
          Hide
          Konstantin Boudnik added a comment -

          I've seen other AspectJ related test failures, many due to the same reason (method signatures got changed without changing the AspectJ matching logic). Do AspectJ based tests get run on Hudson (or required to pass)?

          I believe you have confused this for fault injection tests. The latter are executed as a part of secondary build, but not the patch build. To prevent braking of the bindings between the code and test framework code (Herriot) I have HADOOP-6786 which still pending test-patch verification. That JIRA will include the guarantees that a patch doesn't break existing bindings for the test framework.

          Show
          Konstantin Boudnik added a comment - I've seen other AspectJ related test failures, many due to the same reason (method signatures got changed without changing the AspectJ matching logic). Do AspectJ based tests get run on Hudson (or required to pass)? I believe you have confused this for fault injection tests. The latter are executed as a part of secondary build, but not the patch build. To prevent braking of the bindings between the code and test framework code (Herriot) I have HADOOP-6786 which still pending test-patch verification. That JIRA will include the guarantees that a patch doesn't break existing bindings for the test framework.
          Hide
          Konstantin Boudnik added a comment -

          Although, test-patch doesn't verify instrumented build's binding (pending HADOOP-6786) I'll submit this for the sake of the process.

          Show
          Konstantin Boudnik added a comment - Although, test-patch doesn't verify instrumented build's binding (pending HADOOP-6786 ) I'll submit this for the sake of the process.
          Konstantin Boudnik made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Konstantin Boudnik made changes -
          Link This issue blocks HDFS-1343 [ HDFS-1343 ]
          Hide
          Hairong Kuang added a comment -

          Cos, Hudson does not work. Since this is a compilation bug, could you please just go ahead and commit it?

          Show
          Hairong Kuang added a comment - Cos, Hudson does not work. Since this is a compilation bug, could you please just go ahead and commit it?
          Hide
          Konstantin Boudnik added a comment -

          Per Hairong request and considering that this patch has been already verified in y20 release as working I have just committed it to unblock further HDFS development in trunk.

          Show
          Konstantin Boudnik added a comment - Per Hairong request and considering that this patch has been already verified in y20 release as working I have just committed it to unblock further HDFS development in trunk.
          Konstantin Boudnik made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-trunk-Commit #370 (See https://hudson.apache.org/hudson/job/Hadoop-Hdfs-trunk-Commit/370/)
          HDFS-1157. Modifications introduced by HDFS-1150 are breaking aspect's bindings. Contributed by Konstantin Boudnik

          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #370 (See https://hudson.apache.org/hudson/job/Hadoop-Hdfs-trunk-Commit/370/ ) HDFS-1157 . Modifications introduced by HDFS-1150 are breaking aspect's bindings. Contributed by Konstantin Boudnik
          Konstantin Boudnik made changes -
          Tags herriot
          Konstantin Shvachko made changes -
          Fix Version/s 0.22.0 [ 12314241 ]
          Konstantin Shvachko made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Gavin made changes -
          Link This issue depends on HDFS-1134 [ HDFS-1134 ]
          Gavin made changes -
          Link This issue depends upon HDFS-1134 [ HDFS-1134 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Patch Available Patch Available
          92d 1h 23m 1 Konstantin Boudnik 17/Aug/10 20:14
          Patch Available Patch Available Resolved Resolved
          2d 11h 31m 1 Konstantin Boudnik 20/Aug/10 07:45
          Resolved Resolved Closed Closed
          478d 23h 33m 1 Konstantin Shvachko 12/Dec/11 06:18

            People

            • Assignee:
              Konstantin Boudnik
              Reporter:
              Konstantin Boudnik
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development