You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Chetan Mehrotra <ch...@gmail.com> on 2017/05/08 06:53:38 UTC

Simplify collecting Oak setup details via Felix Inventory (OAK-6179)

Hi Team,

In the past for troubleshooting various customer issues related to Oak
repository we have to request various setup related details like index
definitions, async indexing state, mongodb setup details like mongo
indexes , replica set details etc. Some of this information is
currently exposed via JMX MBeans, log file entries etc. It takes some
time to collect the information as it is collected manually, via
screen shots of JMX UI, figuring out log entries etc.

To simplify this I propose that we use Felix Inventory Support [1]. It
provides a framework where component can provide there "Inventory
Printers" which would be invoked to "print" the inventory state. In
Oak we can provide various printers like

1. Index Stats - Printer to dump stats related to various indexes.
    Build on top of OAK-6080
2. Index Definitions - Dump of index definition in json format
3. Checkpoints - Dump state of all checkpoints live in the setup
4. DocumentNodeStore
       Mongo - Dump indexes in Mongo, version, replica set info
       ClusterNodeInfo - Dump state of all cluster nodes in the setup

This would allow the system admin to provide a zip containing all this
data in single invocation.

For an example see [2] which captures the index related details in a
single page as part of OAK-6080 work.

I believe this would reduce churn while diagnosing any setup issue!

Thoughts? Would it make sense to invest here and implement various printers?

Chetan Mehrotra
[1] http://felix.apache.org/documentation/subprojects/apache-felix-inventory.html
[2] https://issues.apache.org/jira/secure/attachment/12866838/status-oak-indexes.txt

Re: Simplify collecting Oak setup details via Felix Inventory (OAK-6179)

Posted by Chetan Mehrotra <ch...@gmail.com>.
On Mon, May 8, 2017 at 3:16 PM, Marcel Reutegger <mr...@adobe.com> wrote:
> Wouldn't it be easier if there was an inventory printer for JMX MBeans? That
> way we wouldn't have to implement printers in various places for information
> Oak already exposes.

There is one already but the problem is JMX rendering of composite
data which is heavily used in our MBean is not very clean and rendered
json has lots of noise. May be we use Inventory support for case where
we need to expose structured data like index info. And then explore
using the JMX Inventory support for simple MBeans

> It also avoids the dependency to the Apache Felix inventory support.

Note that dependency is purely optional

Chetan Mehrotra

Re: Simplify collecting Oak setup details via Felix Inventory (OAK-6179)

Posted by Marcel Reutegger <mr...@adobe.com>.
Hi,

On 08/05/17 08:53, Chetan Mehrotra wrote:
> To simplify this I propose that we use Felix Inventory Support [1]. It
> provides a framework where component can provide there "Inventory
> Printers" which would be invoked to "print" the inventory state.

Wouldn't it be easier if there was an inventory printer for JMX MBeans? 
That way we wouldn't have to implement printers in various places for 
information Oak already exposes. It also avoids the dependency to the 
Apache Felix inventory support.

Regards
  Marcel