Details

    • Type: Sub-task Sub-task
    • Status: In Progress
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 1.7.0
    • Component/s: None
    • Labels:

      Description

      Create a new command to consolidate version output for troubleshooting and reporting purposes.

      This command should attempt to detect the versions of:

      1. Accumulo
      2. Java
      3. Hadoop
      4. Zookeeper
      5. OS

      It can optionally attempt to detect things like cluster size or other details.

      1. ACCUMULO-1826.v3.patch.txt
        4 kB
        Mike Drob
      2. ACCUMULO-1826.v2.patch.txt
        4 kB
        Mike Drob
      3. ACCUMULO-1826.v1.patch.txt
        3 kB
        Mike Drob

        Activity

        Hide
        Josh Elser added a comment -

        Not really sure if there's anything useful that's going to come from kernel.version, but at least it's good from a completeness standpoint (all of what would be contained in uname -a). Minor nit: you flip the modifier order when defining UNKNOWN and SYSTEM_PROPERTY_KEYS ("private static final" and then "private final static").

        Show
        Josh Elser added a comment - Not really sure if there's anything useful that's going to come from kernel.version , but at least it's good from a completeness standpoint (all of what would be contained in uname -a ). Minor nit: you flip the modifier order when defining UNKNOWN and SYSTEM_PROPERTY_KEYS ("private static final" and then "private final static").
        Hide
        Mike Drob added a comment -

        Version 3: Don't need to spin up another process, can just read everything from /proc ourselves.

        Show
        Mike Drob added a comment - Version 3: Don't need to spin up another process, can just read everything from /proc ourselves.
        Hide
        Mike Drob added a comment -

        Added calls out of swap and ulimit for Josh Elser.

        Show
        Mike Drob added a comment - Added calls out of swap and ulimit for Josh Elser .
        Hide
        Keith Turner added a comment -

        Interesting that Hadoop and zookeeper have the getVersion functions. Maybe Accumulo should have something like that. The Accumulo constant version is inlined in the class files of any code that uses it.

        Show
        Keith Turner added a comment - Interesting that Hadoop and zookeeper have the getVersion functions. Maybe Accumulo should have something like that. The Accumulo constant version is inlined in the class files of any code that uses it.
        Hide
        Mike Drob added a comment -

        I didn't find how to get all those using pure Java. Do you think it is a good idea to spin up a bunch of processes for the extra information?

        I guess we can just read some stuff out of /proc but I am super not-excited about hand parsing any of it.

        Show
        Mike Drob added a comment - I didn't find how to get all those using pure Java. Do you think it is a good idea to spin up a bunch of processes for the extra information? I guess we can just read some stuff out of /proc but I am super not-excited about hand parsing any of it.
        Hide
        Josh Elser added a comment -

        What about ulimit, free, df, swappiness, etc?

        Also, `accumulo env` might be more straightforward than `accumulo version`.

        Show
        Josh Elser added a comment - What about ulimit, free, df, swappiness, etc? Also, `accumulo env` might be more straightforward than `accumulo version`.
        Hide
        Mike Drob added a comment -

        First patch with a main class that prints out a handful of Java properties and software versions.

        Show
        Mike Drob added a comment - First patch with a main class that prints out a handful of Java properties and software versions.
        Hide
        John Vines added a comment -

        I think it would also be cool if there was a thrift call to get this information as well, perhaps something in instanceOperations

        Show
        John Vines added a comment - I think it would also be cool if there was a thrift call to get this information as well, perhaps something in instanceOperations
        Hide
        Josh Elser added a comment -

        We could do stuff like call out to ulimit (HBase does this when it starts a process IIRC) and hit /proc or

        {free, sysctl, df}

        to get memory/disk/swappiness information

        Show
        Josh Elser added a comment - We could do stuff like call out to ulimit (HBase does this when it starts a process IIRC) and hit /proc or {free, sysctl, df} to get memory/disk/swappiness information
        Hide
        Mike Drob added a comment -

        Thanks for keeping me honest, I was mainly just spitballing for the name. "accumulo version" or "accumulo about" or whatever sound just as reasonable to me.

        Don't they say that naming things is one of the hardest parts of computer science?

        Show
        Mike Drob added a comment - Thanks for keeping me honest, I was mainly just spitballing for the name. "accumulo version" or "accumulo about" or whatever sound just as reasonable to me. Don't they say that naming things is one of the hardest parts of computer science?
        Hide
        Billie Rinaldi added a comment -

        Currently in trunk, "accumulo info" prints the monitor, master, and zookeeper locations. (I don't care if we change the name, but it would be better to do it before 1.6.0 is released.)

        Show
        Billie Rinaldi added a comment - Currently in trunk, "accumulo info" prints the monitor, master, and zookeeper locations. (I don't care if we change the name, but it would be better to do it before 1.6.0 is released.)

          People

          • Assignee:
            Mike Drob
            Reporter:
            Mike Drob
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:

              Development