ZooKeeper
  1. ZooKeeper
  2. ZOOKEEPER-678

Browser application to view and edit the contents of a zookeeper instance

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3.0
    • Fix Version/s: 3.3.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      An application which shows a tree view of the nodes currently in a zookeeper instance and allow the user to view and update the contents of the nodes as well as allowing users to add and remove nodes from the tree, similar in use to the Luke application in the Lucene project.

      I have a list of other features that I want to add to this application but I wanted to gauge the response before I implemented them all. I have found this useful when debugging my application and thought that it may be useful to others.

      I was going to submit this as a patch file but I have used some icon files and one library which isn't available in the maven/ivy repositories and these don't seem to work when creating a patch file using subversion. Because of this I have attached a zip containing this application to this issue. If there is a better way to submit this please let me know.

      The zip contains two directories, the src directory contains the source as it would be added to the contrib folder and the build folder contains a build version of the with a runnable jar.

      1. zooInspector.sh
        1.0 kB
        Patrick Hunt
      2. ZooInspector.zip
        93 kB
        Colin Goodheart-Smithe
      3. ZooInspector.zip
        982 kB
        Colin Goodheart-Smithe
      4. ZooInspector.zip
        1.53 MB
        Colin Goodheart-Smithe

        Issue Links

          Activity

          Hide
          Patrick Hunt added a comment -

          Thomas, would you mind opening a new JIRA to track this? Assign Colin as he's interested to followup. Thanks!

          Show
          Patrick Hunt added a comment - Thomas, would you mind opening a new JIRA to track this? Assign Colin as he's interested to followup. Thanks!
          Hide
          Colin Goodheart-Smithe added a comment -

          I will probably not have time to look at this until the weekend, but I will try to sort out these issues at that time

          Show
          Colin Goodheart-Smithe added a comment - I will probably not have time to look at this until the weekend, but I will try to sort out these issues at that time
          Hide
          Thomas Koch added a comment -

          There are several places, where viewers is missspelled as "Veiwers". Please do a case insensitive search for "veiw" to correct these. Even the config file "defaultNodeVeiwers.cfg" is missspelled like this. This has the potential to confuse the hell out of people when debugging something!

          Show
          Thomas Koch added a comment - There are several places, where viewers is missspelled as "Veiwers". Please do a case insensitive search for "veiw" to correct these. Even the config file "defaultNodeVeiwers.cfg" is missspelled like this. This has the potential to confuse the hell out of people when debugging something!
          Hide
          Thomas Koch added a comment -

          It seems, that zooinspector finds it's icons only if the icons folder is in the current path. But when I install zooinspector as part of the Zookeeper Debian package, I want to be able to call it regardless of the current path.
          Could you use getRessources or something so that I can point to the icons location from the wrapper shell script?

          Can I place the zooinspector config files in /etc/zookeeper/zooinspector/ ? Could I give zooinspector a property to point to the config file location?

          Show
          Thomas Koch added a comment - It seems, that zooinspector finds it's icons only if the icons folder is in the current path. But when I install zooinspector as part of the Zookeeper Debian package, I want to be able to call it regardless of the current path. Could you use getRessources or something so that I can point to the icons location from the wrapper shell script? Can I place the zooinspector config files in /etc/zookeeper/zooinspector/ ? Could I give zooinspector a property to point to the config file location?
          Hide
          Thomas Koch added a comment -

          Could you please be so kind to specify the exact URL, where the icons are from? It's best to include the link also in the NOTICE.txt file. I need this information for the Debian package of Zookeeper. Thanks!

          Show
          Thomas Koch added a comment - Could you please be so kind to specify the exact URL, where the icons are from? It's best to include the link also in the NOTICE.txt file. I need this information for the Debian package of Zookeeper. Thanks!
          Hide
          Patrick Hunt added a comment -

          +1 – Awesome job, thanks Colin!
          Committed revision 920604

          Show
          Patrick Hunt added a comment - +1 – Awesome job, thanks Colin! Committed revision 920604
          Hide
          Colin Goodheart-Smithe added a comment -

          The submitted zip file contains the updates Patrick asked for. The zip contains the zooinspector folder for the contrib folder. It also contains the findbugs report and the RAT report. The RAT report identifies 3 files without licence headers. These are the EPL licence file and two .cfg files. These files are generated by the application and are used for setting the defaults to use for connection settings and for the nodeviewers used on first start up. Do these need licence headers since they are generated by the application? The reason they need to be submitted is so that the defaults can be determined the first time the application is run.

          Show
          Colin Goodheart-Smithe added a comment - The submitted zip file contains the updates Patrick asked for. The zip contains the zooinspector folder for the contrib folder. It also contains the findbugs report and the RAT report. The RAT report identifies 3 files without licence headers. These are the EPL licence file and two .cfg files. These files are generated by the application and are used for setting the defaults to use for connection settings and for the nodeviewers used on first start up. Do these need licence headers since they are generated by the application? The reason they need to be submitted is so that the defaults can be determined the first time the application is run.
          Hide
          Patrick Hunt added a comment -

          Colin, it's a lot closer. Great job on the updates. README is very useful.

          See my attached zooInspector.sh I had to address some issues with the classpath (this is for dev build, donno if it's diff for other)

          Notice I added an apache license header to the .sh file. You should add similar to any shell scripts you have (like the wind cmd file). I also had to run dos2unix on the .sh file (this is all in the attachment I'm adding)

          Do you want your app name to match the contrib name? ZooInspector vs inspector (Inspector.class) I mean. Doesn't matter to me, but in terms of user comprehension.

          Don't include zookeeper jar in your lib directory, for a number of reasons but mainly it won't be up to date.

          Can you do two things? Since you are attaching a zip findbugs and the RAT tool won't run automatically in hudson (but they will run once this is committed). Can you run these two tools yourself and address any issues? (see the build.xml at toplevel for details on running findbugs and RAT). Sometimes these tools pickup useful stuff, sometimes not useful. If RAT hits on something take a look at a similar file in the release (.java .sh .html, etc...) and try to do similar. RAT basically makes sure the licensing is correct.

          remove TableLayoutLicense.txt from licenses dir

          Note to commiter — be sure to mark the shell scripts as executable in SVN during commit.

          Show
          Patrick Hunt added a comment - Colin, it's a lot closer. Great job on the updates. README is very useful. See my attached zooInspector.sh I had to address some issues with the classpath (this is for dev build, donno if it's diff for other) Notice I added an apache license header to the .sh file. You should add similar to any shell scripts you have (like the wind cmd file). I also had to run dos2unix on the .sh file (this is all in the attachment I'm adding) Do you want your app name to match the contrib name? ZooInspector vs inspector (Inspector.class) I mean. Doesn't matter to me, but in terms of user comprehension. Don't include zookeeper jar in your lib directory, for a number of reasons but mainly it won't be up to date. Can you do two things? Since you are attaching a zip findbugs and the RAT tool won't run automatically in hudson (but they will run once this is committed). Can you run these two tools yourself and address any issues? (see the build.xml at toplevel for details on running findbugs and RAT). Sometimes these tools pickup useful stuff, sometimes not useful. If RAT hits on something take a look at a similar file in the release (.java .sh .html, etc...) and try to do similar. RAT basically makes sure the licensing is correct. remove TableLayoutLicense.txt from licenses dir Note to commiter — be sure to mark the shell scripts as executable in SVN during commit.
          Hide
          Colin Goodheart-Smithe added a comment -

          Update to the previous submission. Now includes a readme.txt, a notice.txt, have removed TableLayout , have removed author tags and changed all files to use the standard apache license headers

          Show
          Colin Goodheart-Smithe added a comment - Update to the previous submission. Now includes a readme.txt, a notice.txt, have removed TableLayout , have removed author tags and changed all files to use the standard apache license headers
          Hide
          Colin Goodheart-Smithe added a comment -

          Thanks for your quick response. That all sounds fine. I'll hopefully do those changes over the weekend and resubmit.

          Show
          Colin Goodheart-Smithe added a comment - Thanks for your quick response. That all sounds fine. I'll hopefully do those changes over the weekend and resubmit.
          Hide
          Patrick Hunt added a comment -

          Hi Colin, thanks for the submission, I'm looking at it now. I was able to build and run it. Pretty slick - I'm navigating my znode tree just fine. Great!

          A few issues/comments that I noticed, things that would have to be cleaned up:

          The zip file is fine. You might just attach updates w/o the build dir, use "svn export" so that you don't also put the .svn dirs into the zip.

          Can you add a README.txt to your "src" directory? After all your hard work it would be good to have some basic detail on what the project is, who wrote it (you) and how to build/run it. It doesn't need to be a tome, just basic information for someone to get up to speed quickly.

          I noticed you use TableLayout, this is not compatible with Apache licensing. Is it possible to use something else?

          See this thread for a prior discussion re tablelayout in apache that I found:
          http://www.mail-archive.com/debian-legal@lists.debian.org/msg40009.html

          jtoaster is ok - it uses apache 2.0 license.

          The icons are EPL licensed right? I think it would be a good idea to include a NOTICE.txt (see what I did for CDDL in the "rest" contrib). Your about box has this, but it would be good to have a NOTICE.txt as well.

          We don't allow @author tags in the javacode, see "making changes":
          http://wiki.apache.org/hadoop/ZooKeeper/HowToContribute

          Also, would you be able to use std apache license headers on the source files themselves? If you look at any of the other java files currently in ZooKeeper svn you will see what I'm talking about. You can explicitly list yourself as the originator/author in the README I mentioned. Would that be acceptable to you?

          Thanks for the submission!

          Show
          Patrick Hunt added a comment - Hi Colin, thanks for the submission, I'm looking at it now. I was able to build and run it. Pretty slick - I'm navigating my znode tree just fine. Great! A few issues/comments that I noticed, things that would have to be cleaned up: The zip file is fine. You might just attach updates w/o the build dir, use "svn export" so that you don't also put the .svn dirs into the zip. Can you add a README.txt to your "src" directory? After all your hard work it would be good to have some basic detail on what the project is, who wrote it (you) and how to build/run it. It doesn't need to be a tome, just basic information for someone to get up to speed quickly. I noticed you use TableLayout, this is not compatible with Apache licensing. Is it possible to use something else? See this thread for a prior discussion re tablelayout in apache that I found: http://www.mail-archive.com/debian-legal@lists.debian.org/msg40009.html jtoaster is ok - it uses apache 2.0 license. The icons are EPL licensed right? I think it would be a good idea to include a NOTICE.txt (see what I did for CDDL in the "rest" contrib). Your about box has this, but it would be good to have a NOTICE.txt as well. We don't allow @author tags in the javacode, see "making changes": http://wiki.apache.org/hadoop/ZooKeeper/HowToContribute Also, would you be able to use std apache license headers on the source files themselves? If you look at any of the other java files currently in ZooKeeper svn you will see what I'm talking about. You can explicitly list yourself as the originator/author in the README I mentioned. Would that be acceptable to you? Thanks for the submission!
          Hide
          Colin Goodheart-Smithe added a comment -

          The zip file which contains the source and built version of the application

          Show
          Colin Goodheart-Smithe added a comment - The zip file which contains the source and built version of the application

            People

            • Assignee:
              Colin Goodheart-Smithe
              Reporter:
              Colin Goodheart-Smithe
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development