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

Chetan Mehrotra updated OAK-7116:
---------------------------------
    Description: 
oak-run indexing for SegmentNodeStore currently require following steps while 
performing indexing against a repository which is in use [1]

# Create checkpoint via MBean and pass it as part of cli args
# Perform actual indexing with read only access to repo
# Import the index via MBean operation 

As per current documented steps #1 and #3 are manual. This can potentially be 
simplified by directly using JMX operation from within oak-run as currently for 
accessing SegmentNodeStore oak-run needs to run on same host as actual 
application

*JMX Access*

JMX access can be done via following ways

# Application using Oak has JMX remote 
## Enabled and same info provided as cli args
## Not enabled - In such a case we can rely on 
### pid and [local 
connection|https://stackoverflow.com/questions/13252914/how-to-connect-to-a-local-jmx-server-by-knowing-the-process-id]
 or [attach|https://github.com/nickman/jmxlocal]
### Or query all running java prcess jmx and check if SegmentNodeStore repo 
path is same as one provided in cli
# Application using OAk

*Proposed Approach*

# Establish the JMX connection
# Create checkpoint using the JMX connection programatically
# Perform indexing with read only access
# Import the index via JMX access

With this indexing support for SegmentNodeStore would be at par with 
DocumentNodeStore in terms of ease of use
[1] https://jackrabbit.apache.org/oak/docs/query/oak-run-indexing.html

  was:
oak-run indexing for SegmentNodeStore currently require following steps while 
performing indexing against a repository which is in use [1]

# Create checkpoint via MBean and pass it as part of cli args
# Perform actual indexing with read only access to repo
# Import the index via MBean operation 

As per current documented steps #1 and #3 are manual. This can potentially be 
simplified by directly using JMX operation from within oak-run as currently for 
accessing SegmentNodeStore oak-run needs to run on same host as actual 
application

*JMX Access*

JMX access can be done via following ways

# Application using Oak has JMX remote 
## Enabled and same info provided as cli args
## Not enabled - In such a case we can rely on 
### pid and [local 
connection|https://stackoverflow.com/questions/13252914/how-to-connect-to-a-local-jmx-server-by-knowing-the-process-id]
 
### Or query all running java prcess jmx and check if SegmentNodeStore repo 
path is same as one provided in cli
# Application using OAk

*Proposed Approach*

# Establish the JMX connection
# Create checkpoint using the JMX connection programatically
# Perform indexing with read only access
# Import the index via JMX access

With this indexing support for SegmentNodeStore would be at par with 
DocumentNodeStore in terms of ease of use
[1] https://jackrabbit.apache.org/oak/docs/query/oak-run-indexing.html


> Use JMX mode to reindex on SegmentNodeStore without requiring manual steps
> --------------------------------------------------------------------------
>
>                 Key: OAK-7116
>                 URL: https://issues.apache.org/jira/browse/OAK-7116
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: run
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>             Fix For: 1.10
>
>
> oak-run indexing for SegmentNodeStore currently require following steps while 
> performing indexing against a repository which is in use [1]
> # Create checkpoint via MBean and pass it as part of cli args
> # Perform actual indexing with read only access to repo
> # Import the index via MBean operation 
> As per current documented steps #1 and #3 are manual. This can potentially be 
> simplified by directly using JMX operation from within oak-run as currently 
> for accessing SegmentNodeStore oak-run needs to run on same host as actual 
> application
> *JMX Access*
> JMX access can be done via following ways
> # Application using Oak has JMX remote 
> ## Enabled and same info provided as cli args
> ## Not enabled - In such a case we can rely on 
> ### pid and [local 
> connection|https://stackoverflow.com/questions/13252914/how-to-connect-to-a-local-jmx-server-by-knowing-the-process-id]
>  or [attach|https://github.com/nickman/jmxlocal]
> ### Or query all running java prcess jmx and check if SegmentNodeStore repo 
> path is same as one provided in cli
> # Application using OAk
> *Proposed Approach*
> # Establish the JMX connection
> # Create checkpoint using the JMX connection programatically
> # Perform indexing with read only access
> # Import the index via JMX access
> With this indexing support for SegmentNodeStore would be at par with 
> DocumentNodeStore in terms of ease of use
> [1] https://jackrabbit.apache.org/oak/docs/query/oak-run-indexing.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to