Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      • jps is called in the init.d scripts but it's not in the PATH it sets. on my centos box, it's in $JAVA_HOME/bin
      • in bin/accumulo, accumulo-start.jar is expected to be in $ACCUMULO_HOME/lib, but actually it's in $JAVA_HOME/accumulo
      • in bin/accumulo, accumulo-start.jar does not have version decoration, but the installed jar does
      • nothing else (other accumulo jars from $JAVA_HOME/accumulo, other dependencies from $ACCUMULO_HOME/lib) seems to be getting into the classpath. initial failure is NoClassDefFoundError: org/apache/commons/vfs2/provider/FileProvider

      i wonder if the standardization on RPM deployment locations is worth the departure from the standard accumulo deployment locations, at least for 1.6.0, since it seems like the impact on all the script infrastructure hasn't really been thought through yet, so close to the release.

        Issue Links

          Activity

          Hide
          Christopher Tubbs added a comment -

          Superceded by ACCUMULO-2606

          Show
          Christopher Tubbs added a comment - Superceded by ACCUMULO-2606
          Hide
          ASF subversion and git services added a comment -

          Commit 6dd1bd3e9a51e4ca32fe6795f9448c7f12eaca2b in accumulo's branch refs/heads/master from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6dd1bd3 ]

          ACCUMULO-2267 use the localhost convention for the tracer, too

          Show
          ASF subversion and git services added a comment - Commit 6dd1bd3e9a51e4ca32fe6795f9448c7f12eaca2b in accumulo's branch refs/heads/master from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6dd1bd3 ] ACCUMULO-2267 use the localhost convention for the tracer, too
          Hide
          ASF subversion and git services added a comment -

          Commit 6dd1bd3e9a51e4ca32fe6795f9448c7f12eaca2b in accumulo's branch refs/heads/1.6.0-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6dd1bd3 ]

          ACCUMULO-2267 use the localhost convention for the tracer, too

          Show
          ASF subversion and git services added a comment - Commit 6dd1bd3e9a51e4ca32fe6795f9448c7f12eaca2b in accumulo's branch refs/heads/1.6.0-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=6dd1bd3 ] ACCUMULO-2267 use the localhost convention for the tracer, too
          Hide
          ASF subversion and git services added a comment -

          Commit 46bf772d6b49022afd58e3b16580d7ee12773cc5 in accumulo's branch refs/heads/ACCUMULO-2061 from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=46bf772 ]

          ACCUMULO-2267 Add missing license headers.

          Show
          ASF subversion and git services added a comment - Commit 46bf772d6b49022afd58e3b16580d7ee12773cc5 in accumulo's branch refs/heads/ ACCUMULO-2061 from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=46bf772 ] ACCUMULO-2267 Add missing license headers.
          Hide
          ASF subversion and git services added a comment -

          Commit a085d62337b78c846710b398c1d3eb9589c96c0b in accumulo's branch refs/heads/master from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=a085d62 ]

          ACCUMULO-2267 Incorrect version in init/pom.xml

          Show
          ASF subversion and git services added a comment - Commit a085d62337b78c846710b398c1d3eb9589c96c0b in accumulo's branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=a085d62 ] ACCUMULO-2267 Incorrect version in init/pom.xml
          Hide
          ASF subversion and git services added a comment -

          Commit 46bf772d6b49022afd58e3b16580d7ee12773cc5 in accumulo's branch refs/heads/master from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=46bf772 ]

          ACCUMULO-2267 Add missing license headers.

          Show
          ASF subversion and git services added a comment - Commit 46bf772d6b49022afd58e3b16580d7ee12773cc5 in accumulo's branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=46bf772 ] ACCUMULO-2267 Add missing license headers.
          Hide
          ASF subversion and git services added a comment -

          Commit 46bf772d6b49022afd58e3b16580d7ee12773cc5 in accumulo's branch refs/heads/1.6.0-SNAPSHOT from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=46bf772 ]

          ACCUMULO-2267 Add missing license headers.

          Show
          ASF subversion and git services added a comment - Commit 46bf772d6b49022afd58e3b16580d7ee12773cc5 in accumulo's branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=46bf772 ] ACCUMULO-2267 Add missing license headers.
          Hide
          Eric Newton added a comment -

          Please to test out and open new tixets for any remaining issues.

          Tested against the CDH4 rpms on Centos 6.5.

          I'm the worlds worst rpm writer... I did the minimal things to get Christopher's initial work to run on a single-node instance.

          Show
          Eric Newton added a comment - Please to test out and open new tixets for any remaining issues. Tested against the CDH4 rpms on Centos 6.5. I'm the worlds worst rpm writer... I did the minimal things to get Christopher's initial work to run on a single-node instance.
          Hide
          ASF subversion and git services added a comment -

          Commit fc4de9022e3b82e71c4fca51e4f80b2cacb3ea90 in accumulo's branch refs/heads/master from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=fc4de90 ]

          ACCUMULO-2267 added a basic config rpm, initialize hdfs for accumulo, deal with versions on the accumulo jars, fix the start-up scripts, tested on Centos6.5

          Show
          ASF subversion and git services added a comment - Commit fc4de9022e3b82e71c4fca51e4f80b2cacb3ea90 in accumulo's branch refs/heads/master from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=fc4de90 ] ACCUMULO-2267 added a basic config rpm, initialize hdfs for accumulo, deal with versions on the accumulo jars, fix the start-up scripts, tested on Centos6.5
          Hide
          ASF subversion and git services added a comment -

          Commit fc4de9022e3b82e71c4fca51e4f80b2cacb3ea90 in accumulo's branch refs/heads/1.6.0-SNAPSHOT from Eric Newton
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=fc4de90 ]

          ACCUMULO-2267 added a basic config rpm, initialize hdfs for accumulo, deal with versions on the accumulo jars, fix the start-up scripts, tested on Centos6.5

          Show
          ASF subversion and git services added a comment - Commit fc4de9022e3b82e71c4fca51e4f80b2cacb3ea90 in accumulo's branch refs/heads/1.6.0-SNAPSHOT from Eric Newton [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=fc4de90 ] ACCUMULO-2267 added a basic config rpm, initialize hdfs for accumulo, deal with versions on the accumulo jars, fix the start-up scripts, tested on Centos6.5
          Hide
          Christopher Tubbs added a comment -

          I don't think status_of_proc is part of LSB 4.0, which is on CentOS. It's part of 3.2 <= LSB < 4.0
          It might be better to have RPM init scripts that use /etc/init.d/functions, provided by the initscripts package, for CentOS.

          Show
          Christopher Tubbs added a comment - I don't think status_of_proc is part of LSB 4.0, which is on CentOS. It's part of 3.2 <= LSB < 4.0 It might be better to have RPM init scripts that use /etc/init.d/functions, provided by the initscripts package, for CentOS.
          Hide
          Eric Newton added a comment -

          Centos 6.5:

          # /etc/init.d/accumulo-tserver status
          /etc/init.d/accumulo-tserver: line 122: status_of_proc: command not found
          #
          
          Show
          Eric Newton added a comment - Centos 6.5: # /etc/init.d/accumulo-tserver status /etc/init.d/accumulo-tserver: line 122: status_of_proc: command not found #
          Hide
          John Vines added a comment -

          With this change, it also means we need to maintain an entirely new suite of example accumulo-site files.

          The changes made in ACCUMULO-1638 are very disruptive to all of the existing scripts and examples we have in place. This issues presented in this ticket should have been remedied with that ticket and weren't. I don't think this is worth being a blocker so if these issues stand when we're down to the last items left then I think we should revert ACCUMULO-1638 in 1.6.0-SNAPSHOT to maintain previous functionality. Then it can be fixed properly in 1.7.0.

          Show
          John Vines added a comment - With this change, it also means we need to maintain an entirely new suite of example accumulo-site files. The changes made in ACCUMULO-1638 are very disruptive to all of the existing scripts and examples we have in place. This issues presented in this ticket should have been remedied with that ticket and weren't. I don't think this is worth being a blocker so if these issues stand when we're down to the last items left then I think we should revert ACCUMULO-1638 in 1.6.0-SNAPSHOT to maintain previous functionality. Then it can be fixed properly in 1.7.0.
          Hide
          Christopher Tubbs added a comment -

          The point was that the openjdk-devel RPM (the JDK package, vs. the openjdk RPM, which is just the JRE) puts jps in the alternatives system with a symlink in /usr/bin/, which is on the path. If we add the JDK as a dependency, and not just the JRE, then this issue goes away. I did not realize we had a dependency on the JDK, and not just the JRE.

          Show
          Christopher Tubbs added a comment - The point was that the openjdk-devel RPM (the JDK package, vs. the openjdk RPM, which is just the JRE) puts jps in the alternatives system with a symlink in /usr/bin/, which is on the path. If we add the JDK as a dependency, and not just the JRE, then this issue goes away. I did not realize we had a dependency on the JDK, and not just the JRE.
          Hide
          Michael Berman added a comment -

          jps should be on the path for the JDK that comes in the CentOS repos, which is OpenJDK

          I'm not sure what your point is here. I do have a default openjdk installation, but whatever my system path is by default is irrelevant because the init.d script explicitly sets the path to a limited set of locations that does not include the JDK bin directory.

          Show
          Michael Berman added a comment - jps should be on the path for the JDK that comes in the CentOS repos, which is OpenJDK I'm not sure what your point is here. I do have a default openjdk installation, but whatever my system path is by default is irrelevant because the init.d script explicitly sets the path to a limited set of locations that does not include the JDK bin directory.
          Hide
          Christopher Tubbs added a comment -

          To the last point, I think it'd be easier to fix these relatively minor issues than to rollback to a previous RPM deployment practice.

          Show
          Christopher Tubbs added a comment - To the last point, I think it'd be easier to fix these relatively minor issues than to rollback to a previous RPM deployment practice.
          Hide
          Christopher Tubbs added a comment -

          jps should be on the path for the JDK that comes in the CentOS repos, which is OpenJDK. I think I only put a dependency on the JRE, not the JDK. On the other hand, if it's not on the path because you've installed a different JDK than the one provided by the target distro, I'm not sure that should can be easily addressed. It seems to me that one should use the alternatives system or manipulate the PATH environment variable if that's the situation. On the other hand, it's not hard for us to explicitly try $JAVA_HOME/bin if `which jps` fails.

          The start jar isn't technically in $JAVA_HOME/accumulo... that's a coincidence, at best, and we shouldn't rely on that. Technically, it's in the %{_javadir}/accumulo directory (built-in RPM macro for standard java library locations). The bootstrap classpath for the RPM can either get the start jar from $(rpm -E %{_javadir})/accumulo or identify the absolute path explicitly. Alternatively, we can symlink this directory to lib/, but then we need to deal with the 3rd issue you raise, which is that these jars have version decoration, if we don't want to make any other alterations.

          For the remaining jars... that's a very simple fix, because it's just a matter of deploying a sensible default accumulo-site.xml file in /etc/accumulo.

          Show
          Christopher Tubbs added a comment - jps should be on the path for the JDK that comes in the CentOS repos, which is OpenJDK. I think I only put a dependency on the JRE, not the JDK. On the other hand, if it's not on the path because you've installed a different JDK than the one provided by the target distro, I'm not sure that should can be easily addressed. It seems to me that one should use the alternatives system or manipulate the PATH environment variable if that's the situation. On the other hand, it's not hard for us to explicitly try $JAVA_HOME/bin if `which jps` fails. The start jar isn't technically in $JAVA_HOME/accumulo... that's a coincidence, at best, and we shouldn't rely on that. Technically, it's in the %{_javadir}/accumulo directory (built-in RPM macro for standard java library locations). The bootstrap classpath for the RPM can either get the start jar from $(rpm -E %{_javadir})/accumulo or identify the absolute path explicitly. Alternatively, we can symlink this directory to lib/, but then we need to deal with the 3rd issue you raise, which is that these jars have version decoration, if we don't want to make any other alterations. For the remaining jars... that's a very simple fix, because it's just a matter of deploying a sensible default accumulo-site.xml file in /etc/accumulo.

            People

            • Assignee:
              Christopher Tubbs
              Reporter:
              Michael Berman
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development