HBase
  1. HBase
  2. HBASE-5729

Jenkins build failing; failsafe NPE'ing

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Builds up on jenkins have been failing over the last few days. Looking at it w/ nkeyway, its kinda odd. I ran exact command locally as did N and it works fine. I removed all of my repo and still works. N looked at surefire source. Its the includes that is coming back empty causing the NPE we see up on jenkins. Extra odd is that it does not seem like it a checkin of ours that brought this on. See here where its 'working' on 0.94 branch: https://builds.apache.org/view/G-L/view/HBase/job/HBase-0.94/76/ Then a little later Ted triggers a build w/ no changes made: https://builds.apache.org/view/G-L/view/HBase/job/HBase-0.94/77/console

      Its failing running the integration test phase. Let me mess around and try and get it going again.

        Activity

        Hide
        stack added a comment -

        Odd is that hadoopqa doesn't have this problem.

        Show
        stack added a comment - Odd is that hadoopqa doesn't have this problem.
        Hide
        stack added a comment -

        So, I removed the '-P release' flag from 0.94 and it started building again.

        0.92 has the flag and it does not seem to be failing.

        -e -X clean -Dmaven.test.redirectTestOutputToFile=true site install assembly:single -Prelease
        

        Its where I copied the flag from.

        Maybe needs to be '-Prelease' instead of '-P release' as I had.

        Let me try on trunk... I've not changed that yet.

        Show
        stack added a comment - So, I removed the '-P release' flag from 0.94 and it started building again. 0.92 has the flag and it does not seem to be failing. -e -X clean -Dmaven.test.redirectTestOutputToFile= true site install assembly:single -Prelease Its where I copied the flag from. Maybe needs to be '-Prelease' instead of '-P release' as I had. Let me try on trunk... I've not changed that yet.
        Hide
        stack added a comment -

        hmmm... no.... I had '-Prelease'.

        Will try same version of surefire the integration tests use in 0.92 in 0.94 next....

        Show
        stack added a comment - hmmm... no.... I had '-Prelease'. Will try same version of surefire the integration tests use in 0.92 in 0.94 next....
        Hide
        Nicolas Liochon added a comment -

        locally, I reproduce the issue with

        mvn -e -X  site install assembly:single
        
        Show
        Nicolas Liochon added a comment - locally, I reproduce the issue with mvn -e -X site install assembly:single
        Hide
        stack added a comment -

        I added back ' -DskipITs -Prelease' at N's suggestion (seems to fix his local breakage).

        Jenkins seems totally hosed at mo so letting this be a w hile.

        Show
        stack added a comment - I added back ' -DskipITs -Prelease' at N's suggestion (seems to fix his local breakage). Jenkins seems totally hosed at mo so letting this be a w hile.
        Hide
        stack added a comment -

        The last addition seems to work for trunk. Let me see about 0.94.

        Show
        stack added a comment - The last addition seems to work for trunk. Let me see about 0.94.
        Hide
        stack added a comment -

        Resolving as fixed. Adding the skipITs seems to be working for 0.94 and trunk.

        Show
        stack added a comment - Resolving as fixed. Adding the skipITs seems to be working for 0.94 and trunk.
        Hide
        Nicolas Liochon added a comment -

        For future reference if it happens again:

        root exception was

        Caused by: java.lang.NullPointerException
        	at org.apache.maven.surefire.util.DefaultDirectoryScanner.processIncludesExcludes(DefaultDirectoryScanner.java:136)
        	at org.apache.maven.surefire.util.DefaultDirectoryScanner.collectTests(DefaultDirectoryScanner.java:113)
        	at org.apache.maven.surefire.util.DefaultDirectoryScanner.locateTestClasses(DefaultDirectoryScanner.java:62)
        	at org.apache.maven.surefire.junitcore.JUnitCoreProvider.scanClassPath(JUnitCoreProvider.java:188)
        	at org.apache.maven.surefire.junitcore.JUnitCoreProvider.getSuitesAsList(JUnitCoreProvider.java:145)
        	at org.apache.maven.surefire.junitcore.JUnitCoreProvider.getSuites(JUnitCoreProvider.java:103)
        

        Initial error was:

        [ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test (integration-test) on project hbase: Execution integration-test of goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test failed: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null: NullPointerException -> [Help 1]
        org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test (integration-test) on project hbase: Execution integration-test of goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test failed: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null
        	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
        
        Show
        Nicolas Liochon added a comment - For future reference if it happens again: root exception was Caused by: java.lang.NullPointerException at org.apache.maven.surefire.util.DefaultDirectoryScanner.processIncludesExcludes(DefaultDirectoryScanner.java:136) at org.apache.maven.surefire.util.DefaultDirectoryScanner.collectTests(DefaultDirectoryScanner.java:113) at org.apache.maven.surefire.util.DefaultDirectoryScanner.locateTestClasses(DefaultDirectoryScanner.java:62) at org.apache.maven.surefire.junitcore.JUnitCoreProvider.scanClassPath(JUnitCoreProvider.java:188) at org.apache.maven.surefire.junitcore.JUnitCoreProvider.getSuitesAsList(JUnitCoreProvider.java:145) at org.apache.maven.surefire.junitcore.JUnitCoreProvider.getSuites(JUnitCoreProvider.java:103) Initial error was: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test (integration-test) on project hbase: Execution integration-test of goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test failed: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null: NullPointerException -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test (integration-test) on project hbase: Execution integration-test of goal org.apache.maven.plugins:maven-failsafe-plugin:2.12-TRUNK-HBASE-2:integration-test failed: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
        Hide
        Nicolas Liochon added a comment -
        mvn -e  site install assembly:single  -Dtest.exclude.pattern="whatever"
        

        works as well. It seems that surefire wants the variables to be defined in

                    <excludes>
                      <exlude>${unittest.include}</exlude>
                      <exclude>**/*$*</exclude>
                      <exclude>${test.exclude.pattern}</exclude>
                    </excludes>
        

        So suppressing the line in the .pom sould be ok, even if it does not explain why it was working before.

        Show
        Nicolas Liochon added a comment - mvn -e site install assembly:single -Dtest.exclude.pattern="whatever" works as well. It seems that surefire wants the variables to be defined in <excludes> <exlude>${unittest.include}</exlude> <exclude>**/*$*</exclude> <exclude>${test.exclude.pattern}</exclude> </excludes> So suppressing the line in the .pom sould be ok, even if it does not explain why it was working before.

          People

          • Assignee:
            stack
            Reporter:
            stack
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development