Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4335

Error conditions that result in a Halt call should ensure non-zero process exit code

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.5, 1.7.0
    • Fix Version/s: 1.6.6, 1.7.2, 1.8.0
    • Component/s: gc, tserver
    • Labels:
      None

      Description

      There are several places where we get some fatal error and exit with a 0 code, indicating no error.

      e.g. when the TabletServer loses the ability to monitor zk.

      (this impacts 1.6.0+, but I can only select 1.6.5 from 1.6.z)

      1. ACCUMULO-4335.1.patch
        5 kB
        Sean Busbey
      2. ACCUMULO-4335-1.8.v1.patch
        5 kB
        Sean Busbey

        Activity

        Hide
        busbey Sean Busbey added a comment -

        ATM I'm targetting 1.8.0+ for the fix, since it changes what exit codes we have. I figure folks who want this corrected behavior can easily cherry pick the commit and those who already have workarounds in place for our poor behavior won't have to adapt.

        If folks would rather see the fix in 1.6+ just let me know.

        Show
        busbey Sean Busbey added a comment - ATM I'm targetting 1.8.0+ for the fix, since it changes what exit codes we have. I figure folks who want this corrected behavior can easily cherry pick the commit and those who already have workarounds in place for our poor behavior won't have to adapt. If folks would rather see the fix in 1.6+ just let me know.
        Hide
        elserj Josh Elser added a comment -

        There are several places where we get some fatal error and exit with a 0 code, indicating no error.

        Argh. Having a full sheet of exit codes would be phenomenal, but, at the very least, non-zero for error should be a guaranteed outcome. I think this would also be helpful for some of the Apache Slider work (helpful in determining what to do downstream).

        (this impacts 1.6.0+, but I can only select 1.6.5 from 1.6.z)

        Yeah, the older versions were archived which makes them unselectable. Thanks for clarifying tho.

        Show
        elserj Josh Elser added a comment - There are several places where we get some fatal error and exit with a 0 code, indicating no error. Argh. Having a full sheet of exit codes would be phenomenal, but, at the very least, non-zero for error should be a guaranteed outcome. I think this would also be helpful for some of the Apache Slider work (helpful in determining what to do downstream). (this impacts 1.6.0+, but I can only select 1.6.5 from 1.6.z) Yeah, the older versions were archived which makes them unselectable. Thanks for clarifying tho.
        Hide
        busbey Sean Busbey added a comment - - edited

        -01

        • went through Halt.halt(String) calls and ensured errors switch to Halt.halt(String, 1)
        • updated TServer LockWatcher to use exit code 1 (like the other server processes)
        Show
        busbey Sean Busbey added a comment - - edited -01 went through Halt.halt(String) calls and ensured errors switch to Halt.halt(String, 1) updated TServer LockWatcher to use exit code 1 (like the other server processes)
        Hide
        busbey Sean Busbey added a comment -

        Argh. Having a full sheet of exit codes would be phenomenal, but, at the very least, non-zero for error should be a guaranteed outcome. I think this would also be helpful for some of the Apache Slider work (helpful in determining what to do downstream).

        indeed. I ran into this with an ops problem that at first appeared to be "my watchdog isn't working!"

        Show
        busbey Sean Busbey added a comment - Argh. Having a full sheet of exit codes would be phenomenal, but, at the very least, non-zero for error should be a guaranteed outcome. I think this would also be helpful for some of the Apache Slider work (helpful in determining what to do downstream). indeed. I ran into this with an ops problem that at first appeared to be "my watchdog isn't working!"
        Hide
        elserj Josh Elser added a comment -

        went through Halt.halt(String) calls and ensured errors switch to Halt.halt(String, 1)

        Trusting you found all the invocations, +1. Thanks for the patch, too.

        Out of curiosity, did you verify that we don't have any calls to System.exit(int)? I seriously hope we don't...

        Show
        elserj Josh Elser added a comment - went through Halt.halt(String) calls and ensured errors switch to Halt.halt(String, 1) Trusting you found all the invocations, +1. Thanks for the patch, too. Out of curiosity, did you verify that we don't have any calls to System.exit(int) ? I seriously hope we don't...
        Hide
        busbey Sean Busbey added a comment -

        Out of curiosity, did you verify that we don't have any calls to System.exit(int)? I seriously hope we don't...

        :flushed_emoji:

        brb.

        Show
        busbey Sean Busbey added a comment - Out of curiosity, did you verify that we don't have any calls to System.exit(int)? I seriously hope we don't... :flushed_emoji: brb.
        Hide
        busbey Sean Busbey added a comment -

        There are several in examples and tests that I'm not worried about. There are a couple in the server code. They look like they're mostly in early init code (like when the GC is first checking for a lock, or when Master is doing an upgrade) or fail-safe (like if we somehow get a bare exception in TabletServer.main) and they all are non-zero exit.

        The only issue I can see is this one in TabletServer

        } catch (Exception ex) {
              log.error("Uncaught exception in TabletServer.main, exiting", ex);
              System.exit(1);
            } finally {
              DistributedTrace.disable();
            }
        

        That finally block will never happen if we hit the exception path. But HTrace itself has a shutdown hook to ensure things are closed off, so probably fine?

        Since these are essentially an unrelated problem I'd prefer to defer correcting them, if you don't mind.

        Show
        busbey Sean Busbey added a comment - There are several in examples and tests that I'm not worried about. There are a couple in the server code. They look like they're mostly in early init code (like when the GC is first checking for a lock, or when Master is doing an upgrade) or fail-safe (like if we somehow get a bare exception in TabletServer.main) and they all are non-zero exit. The only issue I can see is this one in TabletServer } catch (Exception ex) { log.error( "Uncaught exception in TabletServer.main, exiting" , ex); System .exit(1); } finally { DistributedTrace.disable(); } That finally block will never happen if we hit the exception path. But HTrace itself has a shutdown hook to ensure things are closed off, so probably fine? Since these are essentially an unrelated problem I'd prefer to defer correcting them, if you don't mind.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s 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.
        0 mvndep 0m 26s Maven dependency ordering for branch
        -1 mvninstall 0m 24s base in master failed.
        -1 mvninstall 0m 5s gc in master failed.
        -1 mvninstall 0m 7s tserver in master failed.
        +1 compile 1m 15s master passed with JDK v1.8.0
        -1 compile 0m 5s base in master failed with JDK v1.7.0_79.
        -1 compile 0m 5s gc in master failed with JDK v1.7.0_79.
        -1 compile 0m 5s tserver in master failed with JDK v1.7.0_79.
        +1 checkstyle 0m 42s master passed
        -1 mvneclipse 0m 13s base in master failed.
        -1 mvneclipse 0m 6s gc in master failed.
        -1 mvneclipse 0m 5s tserver in master failed.
        -1 findbugs 0m 5s base in master failed.
        -1 findbugs 0m 4s gc in master failed.
        -1 findbugs 0m 5s tserver in master failed.
        +1 javadoc 1m 6s master passed with JDK v1.8.0
        -1 javadoc 0m 5s base in master failed with JDK v1.7.0_79.
        -1 javadoc 0m 5s gc in master failed with JDK v1.7.0_79.
        -1 javadoc 0m 5s tserver in master failed with JDK v1.7.0_79.
        0 mvndep 0m 4s Maven dependency ordering for patch
        -1 mvninstall 0m 5s base in the patch failed.
        -1 mvninstall 0m 5s gc in the patch failed.
        -1 mvninstall 0m 4s tserver in the patch failed.
        +1 compile 1m 1s the patch passed with JDK v1.8.0
        +1 javac 1m 1s the patch passed
        -1 compile 0m 5s base in the patch failed with JDK v1.7.0_79.
        -1 compile 0m 5s gc in the patch failed with JDK v1.7.0_79.
        -1 compile 0m 5s tserver in the patch failed with JDK v1.7.0_79.
        -1 javac 0m 5s base in the patch failed with JDK v1.7.0_79.
        -1 javac 0m 5s gc in the patch failed with JDK v1.7.0_79.
        -1 javac 0m 5s tserver in the patch failed with JDK v1.7.0_79.
        +1 checkstyle 0m 36s the patch passed
        -1 mvneclipse 0m 5s base in the patch failed.
        -1 mvneclipse 0m 6s gc in the patch failed.
        -1 mvneclipse 0m 5s tserver in the patch failed.
        +1 whitespace 0m 0s The patch has no whitespace issues.
        -1 findbugs 0m 4s base in the patch failed.
        -1 findbugs 0m 5s gc in the patch failed.
        -1 findbugs 0m 5s tserver in the patch failed.
        +1 javadoc 1m 5s the patch passed with JDK v1.8.0
        -1 javadoc 0m 5s base in the patch failed with JDK v1.7.0_79.
        -1 javadoc 0m 6s gc in the patch failed with JDK v1.7.0_79.
        -1 javadoc 0m 5s tserver in the patch failed with JDK v1.7.0_79.
        +1 unit 11m 55s root in the patch passed with JDK v1.8.0.
        -1 unit 0m 6s root in the patch failed with JDK v1.7.0_79.
        +1 asflicense 0m 17s The patch does not generate ASF License warnings.
        21m 52s



        Subsystem Report/Notes
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12808957/ACCUMULO-4335.1.patch
        JIRA Issue ACCUMULO-4335
        Optional Tests asflicense javac javadoc unit findbugs checkstyle compile
        uname Linux asf907.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /home/jenkins/jenkins-slave/workspace/PreCommit-ACCUMULO-Build/test_framework/yetus-0.3.0/lib/precommit/personality/accumulo.sh
        git revision master / 3592b38
        Default Java 1.7.0_79
        Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79
        mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvninstall-server_base.txt
        mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvninstall-server_gc.txt
        mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvninstall-server_tserver.txt
        compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-compile-server_base-jdk1.7.0_79.txt
        compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-compile-server_gc-jdk1.7.0_79.txt
        compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-compile-server_tserver-jdk1.7.0_79.txt
        mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvneclipse-server_base.txt
        mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvneclipse-server_gc.txt
        mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvneclipse-server_tserver.txt
        findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-findbugs-server_base.txt
        findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-findbugs-server_gc.txt
        findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-findbugs-server_tserver.txt
        javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-javadoc-server_base-jdk1.7.0_79.txt
        javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-javadoc-server_gc-jdk1.7.0_79.txt
        javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-javadoc-server_tserver-jdk1.7.0_79.txt
        mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvninstall-server_base.txt
        mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvninstall-server_gc.txt
        mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvninstall-server_tserver.txt
        compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_base-jdk1.7.0_79.txt
        compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_gc-jdk1.7.0_79.txt
        compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_tserver-jdk1.7.0_79.txt
        javac https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_base-jdk1.7.0_79.txt
        javac https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_gc-jdk1.7.0_79.txt
        javac https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_tserver-jdk1.7.0_79.txt
        mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvneclipse-server_base.txt
        mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvneclipse-server_gc.txt
        mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvneclipse-server_tserver.txt
        findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-findbugs-server_base.txt
        findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-findbugs-server_gc.txt
        findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-findbugs-server_tserver.txt
        javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-javadoc-server_base-jdk1.7.0_79.txt
        javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-javadoc-server_gc-jdk1.7.0_79.txt
        javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-javadoc-server_tserver-jdk1.7.0_79.txt
        unit https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-unit-root-jdk1.7.0_79.txt
        JDK v1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/testReport/
        modules C: server/base server/gc server/tserver U: .
        Console output https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/console
        Powered by Apache Yetus 0.3.0 http://yetus.apache.org

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s 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. 0 mvndep 0m 26s Maven dependency ordering for branch -1 mvninstall 0m 24s base in master failed. -1 mvninstall 0m 5s gc in master failed. -1 mvninstall 0m 7s tserver in master failed. +1 compile 1m 15s master passed with JDK v1.8.0 -1 compile 0m 5s base in master failed with JDK v1.7.0_79. -1 compile 0m 5s gc in master failed with JDK v1.7.0_79. -1 compile 0m 5s tserver in master failed with JDK v1.7.0_79. +1 checkstyle 0m 42s master passed -1 mvneclipse 0m 13s base in master failed. -1 mvneclipse 0m 6s gc in master failed. -1 mvneclipse 0m 5s tserver in master failed. -1 findbugs 0m 5s base in master failed. -1 findbugs 0m 4s gc in master failed. -1 findbugs 0m 5s tserver in master failed. +1 javadoc 1m 6s master passed with JDK v1.8.0 -1 javadoc 0m 5s base in master failed with JDK v1.7.0_79. -1 javadoc 0m 5s gc in master failed with JDK v1.7.0_79. -1 javadoc 0m 5s tserver in master failed with JDK v1.7.0_79. 0 mvndep 0m 4s Maven dependency ordering for patch -1 mvninstall 0m 5s base in the patch failed. -1 mvninstall 0m 5s gc in the patch failed. -1 mvninstall 0m 4s tserver in the patch failed. +1 compile 1m 1s the patch passed with JDK v1.8.0 +1 javac 1m 1s the patch passed -1 compile 0m 5s base in the patch failed with JDK v1.7.0_79. -1 compile 0m 5s gc in the patch failed with JDK v1.7.0_79. -1 compile 0m 5s tserver in the patch failed with JDK v1.7.0_79. -1 javac 0m 5s base in the patch failed with JDK v1.7.0_79. -1 javac 0m 5s gc in the patch failed with JDK v1.7.0_79. -1 javac 0m 5s tserver in the patch failed with JDK v1.7.0_79. +1 checkstyle 0m 36s the patch passed -1 mvneclipse 0m 5s base in the patch failed. -1 mvneclipse 0m 6s gc in the patch failed. -1 mvneclipse 0m 5s tserver in the patch failed. +1 whitespace 0m 0s The patch has no whitespace issues. -1 findbugs 0m 4s base in the patch failed. -1 findbugs 0m 5s gc in the patch failed. -1 findbugs 0m 5s tserver in the patch failed. +1 javadoc 1m 5s the patch passed with JDK v1.8.0 -1 javadoc 0m 5s base in the patch failed with JDK v1.7.0_79. -1 javadoc 0m 6s gc in the patch failed with JDK v1.7.0_79. -1 javadoc 0m 5s tserver in the patch failed with JDK v1.7.0_79. +1 unit 11m 55s root in the patch passed with JDK v1.8.0. -1 unit 0m 6s root in the patch failed with JDK v1.7.0_79. +1 asflicense 0m 17s The patch does not generate ASF License warnings. 21m 52s Subsystem Report/Notes JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12808957/ACCUMULO-4335.1.patch JIRA Issue ACCUMULO-4335 Optional Tests asflicense javac javadoc unit findbugs checkstyle compile uname Linux asf907.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /home/jenkins/jenkins-slave/workspace/PreCommit-ACCUMULO-Build/test_framework/yetus-0.3.0/lib/precommit/personality/accumulo.sh git revision master / 3592b38 Default Java 1.7.0_79 Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvninstall-server_base.txt mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvninstall-server_gc.txt mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvninstall-server_tserver.txt compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-compile-server_base-jdk1.7.0_79.txt compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-compile-server_gc-jdk1.7.0_79.txt compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-compile-server_tserver-jdk1.7.0_79.txt mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvneclipse-server_base.txt mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvneclipse-server_gc.txt mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-mvneclipse-server_tserver.txt findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-findbugs-server_base.txt findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-findbugs-server_gc.txt findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-findbugs-server_tserver.txt javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-javadoc-server_base-jdk1.7.0_79.txt javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-javadoc-server_gc-jdk1.7.0_79.txt javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/branch-javadoc-server_tserver-jdk1.7.0_79.txt mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvninstall-server_base.txt mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvninstall-server_gc.txt mvninstall https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvninstall-server_tserver.txt compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_base-jdk1.7.0_79.txt compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_gc-jdk1.7.0_79.txt compile https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_tserver-jdk1.7.0_79.txt javac https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_base-jdk1.7.0_79.txt javac https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_gc-jdk1.7.0_79.txt javac https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-compile-server_tserver-jdk1.7.0_79.txt mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvneclipse-server_base.txt mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvneclipse-server_gc.txt mvneclipse https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-mvneclipse-server_tserver.txt findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-findbugs-server_base.txt findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-findbugs-server_gc.txt findbugs https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-findbugs-server_tserver.txt javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-javadoc-server_base-jdk1.7.0_79.txt javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-javadoc-server_gc-jdk1.7.0_79.txt javadoc https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-javadoc-server_tserver-jdk1.7.0_79.txt unit https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/artifact/patchprocess/patch-unit-root-jdk1.7.0_79.txt JDK v1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/testReport/ modules C: server/base server/gc server/tserver U: . Console output https://builds.apache.org/job/PreCommit-ACCUMULO-Build/27/console Powered by Apache Yetus 0.3.0 http://yetus.apache.org This message was automatically generated.
        Hide
        busbey Sean Busbey added a comment -

        looks like the move to jkd8 only in master killed it. let me name the patch for the 1.8 branch.

        Show
        busbey Sean Busbey added a comment - looks like the move to jkd8 only in master killed it. let me name the patch for the 1.8 branch.
        Hide
        busbey Sean Busbey added a comment -

        reattaching with name for branch 1.8. luckily I remembered YETUS-274 before starting a rename dance.

        Show
        busbey Sean Busbey added a comment - reattaching with name for branch 1.8. luckily I remembered YETUS-274 before starting a rename dance.
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s 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.
        0 mvndep 1m 39s Maven dependency ordering for branch
        +1 mvninstall 1m 49s 1.8 passed
        +1 compile 1m 18s 1.8 passed with JDK v1.8.0
        +1 compile 0m 52s 1.8 passed with JDK v1.7.0_79
        +1 checkstyle 0m 29s 1.8 passed
        +1 mvneclipse 0m 44s 1.8 passed
        +1 findbugs 2m 25s 1.8 passed
        +1 javadoc 1m 19s 1.8 passed with JDK v1.8.0
        +1 javadoc 0m 39s 1.8 passed with JDK v1.7.0_79
        0 mvndep 0m 13s Maven dependency ordering for patch
        +1 mvninstall 1m 1s the patch passed
        +1 compile 1m 24s the patch passed with JDK v1.8.0
        +1 javac 1m 24s the patch passed
        +1 compile 0m 53s the patch passed with JDK v1.7.0_79
        +1 javac 0m 53s the patch passed
        +1 checkstyle 0m 29s the patch passed
        +1 mvneclipse 0m 35s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 3m 10s the patch passed
        +1 javadoc 1m 16s the patch passed with JDK v1.8.0
        +1 javadoc 0m 41s the patch passed with JDK v1.7.0_79
        +1 unit 13m 1s root in the patch passed with JDK v1.8.0.
        +1 unit 12m 27s root in the patch passed with JDK v1.7.0_79.
        +1 asflicense 0m 18s The patch does not generate ASF License warnings.
        47m 44s



        Subsystem Report/Notes
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12808981/ACCUMULO-4335-1.8.v1.patch
        JIRA Issue ACCUMULO-4335
        Optional Tests asflicense javac javadoc unit findbugs checkstyle compile
        uname Linux asf909.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /home/jenkins/jenkins-slave/workspace/PreCommit-ACCUMULO-Build/test_framework/yetus-0.3.0/lib/precommit/personality/accumulo.sh
        git revision 1.8 / ec69f29
        Default Java 1.7.0_79
        Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79
        findbugs v3.0.1
        JDK v1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-ACCUMULO-Build/28/testReport/
        modules C: server/base server/gc server/tserver U: .
        Console output https://builds.apache.org/job/PreCommit-ACCUMULO-Build/28/console
        Powered by Apache Yetus 0.3.0 http://yetus.apache.org

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s 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. 0 mvndep 1m 39s Maven dependency ordering for branch +1 mvninstall 1m 49s 1.8 passed +1 compile 1m 18s 1.8 passed with JDK v1.8.0 +1 compile 0m 52s 1.8 passed with JDK v1.7.0_79 +1 checkstyle 0m 29s 1.8 passed +1 mvneclipse 0m 44s 1.8 passed +1 findbugs 2m 25s 1.8 passed +1 javadoc 1m 19s 1.8 passed with JDK v1.8.0 +1 javadoc 0m 39s 1.8 passed with JDK v1.7.0_79 0 mvndep 0m 13s Maven dependency ordering for patch +1 mvninstall 1m 1s the patch passed +1 compile 1m 24s the patch passed with JDK v1.8.0 +1 javac 1m 24s the patch passed +1 compile 0m 53s the patch passed with JDK v1.7.0_79 +1 javac 0m 53s the patch passed +1 checkstyle 0m 29s the patch passed +1 mvneclipse 0m 35s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 3m 10s the patch passed +1 javadoc 1m 16s the patch passed with JDK v1.8.0 +1 javadoc 0m 41s the patch passed with JDK v1.7.0_79 +1 unit 13m 1s root in the patch passed with JDK v1.8.0. +1 unit 12m 27s root in the patch passed with JDK v1.7.0_79. +1 asflicense 0m 18s The patch does not generate ASF License warnings. 47m 44s Subsystem Report/Notes JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12808981/ACCUMULO-4335-1.8.v1.patch JIRA Issue ACCUMULO-4335 Optional Tests asflicense javac javadoc unit findbugs checkstyle compile uname Linux asf909.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /home/jenkins/jenkins-slave/workspace/PreCommit-ACCUMULO-Build/test_framework/yetus-0.3.0/lib/precommit/personality/accumulo.sh git revision 1.8 / ec69f29 Default Java 1.7.0_79 Multi-JDK versions /home/jenkins/tools/java/jdk1.8.0:1.8.0 /usr/local/jenkins/java/jdk1.7.0_79:1.7.0_79 findbugs v3.0.1 JDK v1.7.0_79 Test Results https://builds.apache.org/job/PreCommit-ACCUMULO-Build/28/testReport/ modules C: server/base server/gc server/tserver U: . Console output https://builds.apache.org/job/PreCommit-ACCUMULO-Build/28/console Powered by Apache Yetus 0.3.0 http://yetus.apache.org This message was automatically generated.
        Hide
        busbey Sean Busbey added a comment -

        that precommit report looks about right. we have no testing set up to cover exit codes as far as I could find, so I didn't want to tackle that particular bear just yet.

        anyone else have concerns before I push?

        Show
        busbey Sean Busbey added a comment - that precommit report looks about right. we have no testing set up to cover exit codes as far as I could find, so I didn't want to tackle that particular bear just yet. anyone else have concerns before I push?
        Hide
        kturner Keith Turner added a comment -

        Looks good. I have no issues.

        Show
        kturner Keith Turner added a comment - Looks good. I have no issues.
        Hide
        elserj Josh Elser added a comment -

        Yeah, ACCUMULO-4325 is relevant for that.

        Show
        elserj Josh Elser added a comment - Yeah, ACCUMULO-4325 is relevant for that.
        Hide
        elserj Josh Elser added a comment -

        Ditto +1

        Show
        elserj Josh Elser added a comment - Ditto +1
        Hide
        ctubbsii Christopher Tubbs added a comment - - edited

        Thanks Sean Busbey for this fix! It's a good catch. I think we should do it for 1.6+; I can't see how it would hurt. It may change the behavior of some scripts which launch the process, but only in a good way of catching failed processes which previously went unnoticed, which seems like it meets the definition of a bug fix to me.

        (Note on version tagging in JIRA: it's generally safe to assume that bug which affect 1.6.5 also affect earlier versions, and I removed 2.0.0 from the fixVersion, because I think it's generally implied that any fix in one "dot zero" release will also be in future "dot zero" releases. This is my personal philosophy when triage'ing issues... but if we want to adopt some other, more reasonable standard, we could do that, too.)

        Show
        ctubbsii Christopher Tubbs added a comment - - edited Thanks Sean Busbey for this fix! It's a good catch. I think we should do it for 1.6+; I can't see how it would hurt. It may change the behavior of some scripts which launch the process, but only in a good way of catching failed processes which previously went unnoticed, which seems like it meets the definition of a bug fix to me. (Note on version tagging in JIRA: it's generally safe to assume that bug which affect 1.6.5 also affect earlier versions, and I removed 2.0.0 from the fixVersion, because I think it's generally implied that any fix in one "dot zero" release will also be in future "dot zero" releases. This is my personal philosophy when triage'ing issues... but if we want to adopt some other, more reasonable standard, we could do that, too.)
        Hide
        elserj Josh Elser added a comment -

        Since these are essentially an unrelated problem I'd prefer to defer correcting them, if you don't mind.

        I don't mind at all.

        Show
        elserj Josh Elser added a comment - Since these are essentially an unrelated problem I'd prefer to defer correcting them, if you don't mind. I don't mind at all.
        Hide
        elserj Josh Elser added a comment -

        think we should do it for 1.6+; I can't see how it would hurt. It may change the behavior of some scripts which launch the process, but only in a good way of catching failed processes which previously went unnoticed, which seems like it meets the definition of a bug fix to me.

        Agreed. Let me pull these back.

        Show
        elserj Josh Elser added a comment - think we should do it for 1.6+; I can't see how it would hurt. It may change the behavior of some scripts which launch the process, but only in a good way of catching failed processes which previously went unnoticed, which seems like it meets the definition of a bug fix to me. Agreed. Let me pull these back.
        Hide
        busbey Sean Busbey added a comment -

        (Note on version tagging in JIRA: it's generally safe to assume that bug which affect 1.6.5 also affect earlier versions, and I removed 2.0.0 from the fixVersion, because I think it's generally implied that any fix in one "dot zero" release will also be in future "dot zero" releases. This is my personal philosophy when triage'ing issues... but if we want to adopt some other, more reasonable standard, we could do that, too.)

        I agree, generally, but not across things that might be released at different times. For example, we could easily have a 1.9.0 after 2.0.0 comes out (if we ship 1.8.0 and 2.0.0 at about the same time), so there's no way to indicate when 2.y releases are "after" 1.w.z versions later than 1.0.0. Similarly, it's possible something would come up that causes 1.8.0 to slip and 2.0.0 to come out first.

        Anywho, it's a minor issue. At some point we'll probably just have to document the history of versions.

        Show
        busbey Sean Busbey added a comment - (Note on version tagging in JIRA: it's generally safe to assume that bug which affect 1.6.5 also affect earlier versions, and I removed 2.0.0 from the fixVersion, because I think it's generally implied that any fix in one "dot zero" release will also be in future "dot zero" releases. This is my personal philosophy when triage'ing issues... but if we want to adopt some other, more reasonable standard, we could do that, too.) I agree, generally, but not across things that might be released at different times. For example, we could easily have a 1.9.0 after 2.0.0 comes out (if we ship 1.8.0 and 2.0.0 at about the same time), so there's no way to indicate when 2.y releases are "after" 1.w.z versions later than 1.0.0. Similarly, it's possible something would come up that causes 1.8.0 to slip and 2.0.0 to come out first. Anywho, it's a minor issue. At some point we'll probably just have to document the history of versions.
        Hide
        ctubbsii Christopher Tubbs added a comment -

        I like the idea of documenting the history of versions... but we already do that (https://projects.apache.org/project.html?accumulo)... I think our DOAP is broken, though (doesn't list everything).

        Show
        ctubbsii Christopher Tubbs added a comment - I like the idea of documenting the history of versions... but we already do that ( https://projects.apache.org/project.html?accumulo )... I think our DOAP is broken, though (doesn't list everything).
        Hide
        busbey Sean Busbey added a comment -

        it also only lets folks know the relation amongst releases by completion of release votes, which might not correspond to "contains superset of fixes in" ordering (e.g. due different release vote windows).

        Show
        busbey Sean Busbey added a comment - it also only lets folks know the relation amongst releases by completion of release votes, which might not correspond to "contains superset of fixes in" ordering (e.g. due different release vote windows).

          People

          • Assignee:
            busbey Sean Busbey
            Reporter:
            busbey Sean Busbey
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 1h
              1h

                Development