Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-825

Build fails to pull latest hadoop-core-* artifacts

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 0.21.0, 0.22.0
    • Fix Version/s: 0.21.0
    • Component/s: build
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I've noticed on more than one occasion that Ivy cache has staled Common SNAPSHOT jar files. In some cases I've seen more than a month old files. In fact, some very bad problems weren't tested at all, because changes in Common weren't pulled into, say, HDFS where the tests had to be executed.

      I've noticed the same problem with MapReduce just today: latest cached snapshot of Common was a week old.

      One can run clean ivy cache to make sure that latest versions are pulled down. However, it's inconvenient and undesirable to do every time.

      1. HDFS-825.patch
        1 kB
        Konstantin Boudnik
      2. latest-mod-check.patch
        0.4 kB
        Konstantin Boudnik

        Issue Links

          Activity

          Hide
          Konstantin Boudnik added a comment -

          Most likely the root cause of the problem is that artifacts metadata isn't changed at the publishing.
          If metadata is being properly updated then Ivy's resolvers have to be configured properly to honor that fact.

          However, it seems like the simplest yet effective fix for this problem will be to force Ivy to check for latest modification time of published Hadoop artifacts. One way to do so is to set global Ivy property
          ivy.resolver.default.check.modified to true. This, however, has less than desirable effect of prolonging the resolution phase (about 300%).

          Show
          Konstantin Boudnik added a comment - Most likely the root cause of the problem is that artifacts metadata isn't changed at the publishing. If metadata is being properly updated then Ivy's resolvers have to be configured properly to honor that fact. However, it seems like the simplest yet effective fix for this problem will be to force Ivy to check for latest modification time of published Hadoop artifacts. One way to do so is to set global Ivy property ivy.resolver.default.check.modified to true . This, however, has less than desirable effect of prolonging the resolution phase (about 300%).
          Hide
          Konstantin Boudnik added a comment -

          The best way to go in this case is to enforce latest modification time only for hadoop artifacts. Attached patch works both for Mapreduce and HDFS.

          Show
          Konstantin Boudnik added a comment - The best way to go in this case is to enforce latest modification time only for hadoop artifacts. Attached patch works both for Mapreduce and HDFS.
          Hide
          Konstantin Boudnik added a comment -

          test-patch run.

          Show
          Konstantin Boudnik added a comment - test-patch run.
          Hide
          Konstantin Boudnik added a comment -

          This issue is caused by HADOOP-5107 fix.

          Show
          Konstantin Boudnik added a comment - This issue is caused by HADOOP-5107 fix.
          Hide
          Tsz Wo Nicholas Sze added a comment -

          +1

          Show
          Tsz Wo Nicholas Sze added a comment - +1
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12427564/latest-mod-check.patch
          against trunk revision 889035.

          +1 @author. The patch does not contain any @author tags.

          -1 tests included. The patch doesn't appear to include any new or modified tests.
          Please justify why no new tests are needed for this patch.
          Also please list what manual steps were performed to verify this patch.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed core unit tests.

          -1 contrib tests. The patch failed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12427564/latest-mod-check.patch against trunk revision 889035. +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. -1 contrib tests. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/141/console This message is automatically generated.
          Hide
          Konstantin Boudnik added a comment -

          Test failures are unrelated. However, seems like my simple solution doesn't work after all. Keep looking.

          Show
          Konstantin Boudnik added a comment - Test failures are unrelated. However, seems like my simple solution doesn't work after all. Keep looking.
          Hide
          Giridharan Kesavan added a comment -

          +1 looks good.

          Show
          Giridharan Kesavan added a comment - +1 looks good.
          Hide
          Lee Tucker added a comment -

          Maybe the adoption of the maven-in-ant tasks to eliminate this problem? Is this because Ivy needs something that Maven doesn't?

          Show
          Lee Tucker added a comment - Maybe the adoption of the maven-in-ant tasks to eliminate this problem? Is this because Ivy needs something that Maven doesn't?
          Hide
          Konstantin Boudnik added a comment -

          Here's a link to the Ivy's documentation which tell about metadata modifications:
          http://ant.apache.org/ivy/history/trunk/concept.html
          Look under
          Cache and Change Management
          Change management
          "Changes in module metadata" and "Changes in artifacts"

          Hope it helps.

          Show
          Konstantin Boudnik added a comment - Here's a link to the Ivy's documentation which tell about metadata modifications: http://ant.apache.org/ivy/history/trunk/concept.html Look under Cache and Change Management Change management "Changes in module metadata" and "Changes in artifacts" Hope it helps.
          Hide
          Konstantin Boudnik added a comment -

          I've ended up using chackmodified and changingPattern with an actual pattern for the latter. I think Ivy documentation is pretty fuzzy in this respect.

          I've verified the patch on my home machine for Hdfs workspace and will verify it tomorrow with another box where I have an MR workspace with stale jar files in the Ivy cache.

          Show
          Konstantin Boudnik added a comment - I've ended up using chackmodified and changingPattern with an actual pattern for the latter. I think Ivy documentation is pretty fuzzy in this respect. I've verified the patch on my home machine for Hdfs workspace and will verify it tomorrow with another box where I have an MR workspace with stale jar files in the Ivy cache.
          Hide
          Konstantin Boudnik added a comment -

          I've verified it on two more platforms/workspaces for 0.22 and 0.21: it seems to be working just fine. It is kinda tricky to test without latest bits to be published to apache-snapshot repo. I would to see the patched version is pulling the artifacts while non-patched is failing to do so a couple more times before committing this.

          Show
          Konstantin Boudnik added a comment - I've verified it on two more platforms/workspaces for 0.22 and 0.21: it seems to be working just fine. It is kinda tricky to test without latest bits to be published to apache-snapshot repo. I would to see the patched version is pulling the artifacts while non-patched is failing to do so a couple more times before committing this.
          Hide
          Konstantin Boudnik added a comment -

          Need to test new version of the patch again.

          Show
          Konstantin Boudnik added a comment - Need to test new version of the patch again.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12427682/HDFS-825.patch
          against trunk revision 889494.

          +1 @author. The patch does not contain any @author tags.

          -1 tests included. The patch doesn't appear to include any new or modified tests.
          Please justify why no new tests are needed for this patch.
          Also please list what manual steps were performed to verify this patch.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed core unit tests.

          -1 contrib tests. The patch failed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12427682/HDFS-825.patch against trunk revision 889494. +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. -1 contrib tests. The patch failed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/143/console This message is automatically generated.
          Hide
          Konstantin Boudnik added a comment -

          RAID tests are failing again - irrelevant.
          No new tests are included into the patch for this is a pure build modification and there's no way to test it.

          Show
          Konstantin Boudnik added a comment - RAID tests are failing again - irrelevant. No new tests are included into the patch for this is a pure build modification and there's no way to test it.
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-trunk-Commit #145 (See http://hudson.zones.apache.org/hudson/job/Hadoop-Hdfs-trunk-Commit/145/)
          . Build fails to pull latest hadoop-core-* artifacts. Contributed by Konstantin Boudnik

          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #145 (See http://hudson.zones.apache.org/hudson/job/Hadoop-Hdfs-trunk-Commit/145/ ) . Build fails to pull latest hadoop-core-* artifacts. Contributed by Konstantin Boudnik
          Hide
          Konstantin Boudnik added a comment -

          I've just committed this.

          Show
          Konstantin Boudnik added a comment - I've just committed this.
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-trunk #172 (See http://hudson.zones.apache.org/hudson/job/Hadoop-Hdfs-trunk/172/)

          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #172 (See http://hudson.zones.apache.org/hudson/job/Hadoop-Hdfs-trunk/172/ )
          Hide
          Hudson added a comment -

          Integrated in Hdfs-Patch-h5.grid.sp2.yahoo.net #148 (See http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/148/)

          Show
          Hudson added a comment - Integrated in Hdfs-Patch-h5.grid.sp2.yahoo.net #148 (See http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h5.grid.sp2.yahoo.net/148/ )
          Hide
          Hudson added a comment -

          Integrated in Hdfs-Patch-h2.grid.sp2.yahoo.net #94 (See http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h2.grid.sp2.yahoo.net/94/)

          Show
          Hudson added a comment - Integrated in Hdfs-Patch-h2.grid.sp2.yahoo.net #94 (See http://hudson.zones.apache.org/hudson/job/Hdfs-Patch-h2.grid.sp2.yahoo.net/94/ )

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development