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

Reply via email to