You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2014/07/28 18:48:40 UTC

[jira] [Updated] (ACCUMULO-3005) Convert the monitor into a real REST server

     [ https://issues.apache.org/jira/browse/ACCUMULO-3005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Elser updated ACCUMULO-3005:
---------------------------------

    Attachment: 0001-ACCUMULO-3005-Initial-round-of-changes-for-a-proper-.patch

A mostly functional "clone" of the data which the current monitor currently calculates and provides. Uses [Dropwizard|https://dropwizard.github.io/dropwizard/], which bundles Jersey, Jetty and Jackson into one very usable package.

* Creates proper resources which data structures to HTTP resources
* Defines an API by the data we return
* Presently standalone (existing monitor still works and wasn't modified)
* Objects serialized as JSON
* Basic [health check|https://dropwizard.github.io/dropwizard/manual/core.html#health-checks] for Accumulo
* Forwarded log4j messages not currently wired up (had issues, need to revisit -- thought it deserved discussion as to whether or not that should be included in this service)
* Still uses the Monitor class for most of heavy lifting from other services over Thrift
* Wired up to Accumulo bash scripts (will start/stop via start-all/stop-all, currently).

Please take a glance at the patch. I think this is a step in the right direction to make a maintainable monitor.

> Convert the monitor into a real REST server
> -------------------------------------------
>
>                 Key: ACCUMULO-3005
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3005
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: monitor
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>             Fix For: 1.7.0
>
>         Attachments: 0001-ACCUMULO-3005-Initial-round-of-changes-for-a-proper-.patch
>
>
> The monitor works well for what it does, but it's very much so cobbled together. HTML is hand generated. Static state is used liberally which makes testing near impossible. View and controller logic are tightly intertwined which also adds to the testability problem.
> I've been working on porting the functionality from the existing monitor to a proper rest service using [dropwizard|https://dropwizard.github.io/dropwizard/]. It's not completely functional yet, but it has a number of improvements of the existing monitor code.
> I thought I would post what I have already and let people give some feedback if they're interested. Help is always welcome. https://github.com/joshelser/accumulo/tree/dropwizard.



--
This message was sent by Atlassian JIRA
(v6.2#6252)