[jira] [Closed] (OAK-4505) Offline compaction clearer output values

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4505.
--

Bulk close 1.4.4

> Offline compaction clearer output values
> 
>
> Key: OAK-4505
> URL: https://issues.apache.org/jira/browse/OAK-4505
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: run, segment-tar, segmentmk
>Reporter: Alex Parvulescu
>Assignee: Alex Parvulescu
>  Labels: compaction, gc
> Fix For: 1.6, 1.4.4, 1.2.17, 1.5.5, Segment Tar 0.0.4
>
>
> I'd like to have offline compaction return a failure code in case of any 
> error happening during the process (like an OOME). this would help greatly 
> with scripting efforts for automated maintenance operations.
> Other ideas worth pursuing:
> * a one line status at the end of the process: "Compaction succeeded in XXX 
> min" or "Compaction failed in XXX mins".
> * a better directory listing pre and post compaction (sorted list, and 
> possibly including the last modified date).
> * bonus points for delta output (tar files removed, tar files added).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (OAK-4495) RDBDocumentStore: consistent handling of invalidate methods

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4495.
--

Bulk close 1.4.4

> RDBDocumentStore: consistent handling of invalidate methods
> ---
>
> Key: OAK-4495
> URL: https://issues.apache.org/jira/browse/OAK-4495
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: rdbmk
>Affects Versions: 1.0.31, 1.4.3, 1.2.16, 1.5.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Trivial
> Fix For: 1.0.32, 1.4.4, 1.2.17, 1.5.5
>
>
> All variants of  {{invalidateCache}} should use consistent code paths.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (OAK-4480) update oak 1.4 to JR 2.12.2

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4480.
--

Bulk close 1.4.4

> update oak 1.4 to JR 2.12.2
> ---
>
> Key: OAK-4480
> URL: https://issues.apache.org/jira/browse/OAK-4480
> Project: Jackrabbit Oak
>  Issue Type: Task
>Reporter: Davide Giannella
>Assignee: Dominique Jäggi
>Priority: Blocker
> Fix For: 1.4.4
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (OAK-4418) Benchmark Results for Oak 1.4

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4418.
--

Bulk close 1.4.4

> Benchmark Results for Oak 1.4
> -
>
> Key: OAK-4418
> URL: https://issues.apache.org/jira/browse/OAK-4418
> Project: Jackrabbit Oak
>  Issue Type: Task
>  Components: auth-external
>Reporter: angela
>Assignee: angela
>Priority: Minor
> Fix For: 1.4.4
>
> Attachments: 
> ExternalAuthentication_ExternalLogin_1.4_fullsync_20160603_181444.csv, 
> ExternalAuthentication_SyncAllExternalUsers_1.4_fullsync_20160603_111919.csv
>
>
> in order to compare the various improvements in oak-auth-external _and_ other 
> modules against the 1.4 state, i would be good to run the benchmarks (at 
> least an adjusted version) against Oak 1.4.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (OAK-4493) Offline compaction persisted mode

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4493.
--

Bulk close 1.4.4

> Offline compaction persisted mode
> -
>
> Key: OAK-4493
> URL: https://issues.apache.org/jira/browse/OAK-4493
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: segment-tar, segmentmk
>Reporter: Alex Parvulescu
>Assignee: Alex Parvulescu
>  Labels: candidate_oak_1_0, compaction, gc
> Fix For: 1.4.4, 1.2.17, 1.5.5, Segment Tar 0.0.4
>
>
> I'm investigating a case where offline compaction is unable to finish, and 
> crashes with OOMEs because of the content structure, namely large child node 
> lists. The biggest issue is with the UUID index which has 55M nodes.
> In the current implementation, the compactor will use an inmemory nodestate 
> to collect all the data, and persist at the very end, once compaction is done 
> [0]. 
> This is prone to OOME once the size of the data parts (no binaries involved) 
> grows beyond a certain size (in this case I have 350Gb but there's a fair 
> amount of garbage due to compaction not running).
> My proposal is to add a special flag {{oak.compaction.eagerFlush=true}} that 
> should be enabled only in case the size of the repo will not allow running 
> offline compaction with the available heap size. This will turn the inmemory 
> compaction transaction into one based on a persisted SegmentNodeState, 
> meaning we're trading disk space (and IO) for memory.
> [0] 
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/Compactor.java#L248



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (OAK-4497) RDBDocumentStore: potential race condition between update and invalidate can cause stale cache entries

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4497.
--

Bulk close 1.4.4

> RDBDocumentStore: potential race condition between update and invalidate can 
> cause stale cache entries
> --
>
> Key: OAK-4497
> URL: https://issues.apache.org/jira/browse/OAK-4497
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: rdbmk
>Affects Versions: 1.0.31, 1.4.3, 1.2.16, 1.5.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
> Fix For: 1.0.32, 1.4.4, 1.2.17, 1.5.5
>
> Attachments: OAK-4497-1.4.diff, OAK-4497-1.4.diff, OAK-4497.diff, 
> OAK-4497.diff
>
>
> The test in OAK-4489 shows that concurrency of queries and invalidations can 
> cause validations to be lost, leading to stale content in the cache.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Closed] (OAK-4496) Enable DataStoreBlobStore#getAllRecords to support non-shared DataStore

2016-06-29 Thread Amit Jain (JIRA)

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

Amit Jain closed OAK-4496.
--

Bulk close 1.4.4

> Enable DataStoreBlobStore#getAllRecords to support non-shared DataStore
> ---
>
> Key: OAK-4496
> URL: https://issues.apache.org/jira/browse/OAK-4496
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: blob
>Reporter: Amit Jain
>Assignee: Amit Jain
> Fix For: 1.6, 1.4.4, 1.2.17, 1.5.5
>
>
> Enable DataStoreBlobStore#getAllRecords to support non-shared DataStore which 
> was introduced with OAK-4430. This is required to support 
> jackrabbit-aws-ext's S3DataStore which is still used with 1.2.x



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4517) includedPaths, excludedPaths for sub root index definition need to be relative

2016-06-29 Thread Vikas Saurabh (JIRA)

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

Vikas Saurabh updated OAK-4517:
---
Labels:   (was: docs-impacting)

> includedPaths, excludedPaths for sub root index definition need to be relative
> --
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Ravi Kiran Papani
>Assignee: Vikas Saurabh
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-4517) includedPaths, excludedPaths for sub root index definition need to be relative

2016-06-29 Thread Vikas Saurabh (JIRA)

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

Vikas Saurabh resolved OAK-4517.

Resolution: Won't Fix

Added a few tests in [r1750664|https://svn.apache.org/r1750664]. Updated docs 
at [r1750665|https://svn.apache.org/r1750665]. Resolving as won't fix as it's 
tricky to implement what's probably more intuitive... and the work-around isn't 
hard (as documented).

> includedPaths, excludedPaths for sub root index definition need to be relative
> --
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Ravi Kiran Papani
>Assignee: Vikas Saurabh
>  Labels: docs-impacting
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-4512) Detect and log commits to the read-only stores

2016-06-29 Thread Florin Iordache (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355412#comment-15355412
 ] 

Florin Iordache commented on OAK-4512:
--

hi [~chetanm],

I've integrated the feedback and provided an updated patch file. Please let me 
know your thoughts.
Testcases are WIP.

> Detect and log commits to the read-only stores
> --
>
> Key: OAK-4512
> URL: https://issues.apache.org/jira/browse/OAK-4512
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Florin Iordache
> Attachments: OAK-4512-4513-patch.diff
>
>
> Since the read-only stores will be immutable we should be able to detect 
> commits made against them and log an error message via a commit validation 
> provider.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4513) Detect and log references across stores

2016-06-29 Thread Florin Iordache (JIRA)

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

Florin Iordache updated OAK-4513:
-
Attachment: OAK-4512-4513-patch.diff

> Detect and log references across stores
> ---
>
> Key: OAK-4513
> URL: https://issues.apache.org/jira/browse/OAK-4513
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Florin Iordache
> Attachments: OAK-4512-4513-patch.diff
>
>
> References across different stores will not be allowed at runtime, we need a 
> commit validator to detect and log such cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4513) Detect and log references across stores

2016-06-29 Thread Florin Iordache (JIRA)

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

Florin Iordache updated OAK-4513:
-
Attachment: (was: OAK-4513-patch.diff)

> Detect and log references across stores
> ---
>
> Key: OAK-4513
> URL: https://issues.apache.org/jira/browse/OAK-4513
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Florin Iordache
>
> References across different stores will not be allowed at runtime, we need a 
> commit validator to detect and log such cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4512) Detect and log commits to the read-only stores

2016-06-29 Thread Florin Iordache (JIRA)

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

Florin Iordache updated OAK-4512:
-
Attachment: (was: OAK-4512-patch.diff)

> Detect and log commits to the read-only stores
> --
>
> Key: OAK-4512
> URL: https://issues.apache.org/jira/browse/OAK-4512
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Florin Iordache
> Attachments: OAK-4512-4513-patch.diff
>
>
> Since the read-only stores will be immutable we should be able to detect 
> commits made against them and log an error message via a commit validation 
> provider.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4512) Detect and log commits to the read-only stores

2016-06-29 Thread Florin Iordache (JIRA)

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

Florin Iordache updated OAK-4512:
-
Attachment: OAK-4512-4513-patch.diff

> Detect and log commits to the read-only stores
> --
>
> Key: OAK-4512
> URL: https://issues.apache.org/jira/browse/OAK-4512
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Florin Iordache
> Attachments: OAK-4512-4513-patch.diff
>
>
> Since the read-only stores will be immutable we should be able to detect 
> commits made against them and log an error message via a commit validation 
> provider.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-4522) Improve CommitRateLimiter to optionally block some commits

2016-06-29 Thread Stefan Egli (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355408#comment-15355408
 ] 

Stefan Egli commented on OAK-4522:
--

yes, and from this I conclude that you can't have a hard limit on observation 
queues - or at least that's making the situation more difficult. As we agree 
one shouldn't block the listeners, as they would help reducing the queues. But 
then, what if such a listener does a few commits that would result in a queue 
overflow? Hence I think having a hard limit is difficult and perhaps should not 
be applied for listeners, but only for 'normal' clients.

> Improve CommitRateLimiter to optionally block some commits
> --
>
> Key: OAK-4522
> URL: https://issues.apache.org/jira/browse/OAK-4522
> Project: Jackrabbit Oak
>  Issue Type: New Feature
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>
> The CommitRateLimiter of OAK-1659 can delay commits, but doesn't currently 
> block them, and delays even those commits that are part of handling events. 
> Because of that, the queue can still get full, and possibly delaying commits 
> while handling events can make the situation even worse.
> In Jackrabbit 2.x, we had a similar feature: JCR-2402. Also related is 
> JCR-2746.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke updated OAK-4510:

Fix Version/s: 1.0.32

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
> Fix For: 1.6, 1.0.32, 1.2.17, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke updated OAK-4510:

Labels:   (was: candidate_oak_1_0)

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
> Fix For: 1.6, 1.0.32, 1.2.17, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-4518) ConcurrentAddReferenceTest fails occasionally

2016-06-29 Thread Marcel Reutegger (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355353#comment-15355353
 ] 

Marcel Reutegger commented on OAK-4518:
---

Added a test that fails more reliably (currently ignored): 
http://svn.apache.org/r1750656

> ConcurrentAddReferenceTest fails occasionally
> -
>
> Key: OAK-4518
> URL: https://issues.apache.org/jira/browse/OAK-4518
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, documentmk
>Affects Versions: 1.4
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
> Fix For: 1.6
>
> Attachments: OAK-4518-test.patch
>
>
> Occasional test failures have already been reported in OAK-1472, but it still 
> fails every now and 
> [then|https://travis-ci.org/apache/jackrabbit-oak/builds/140501786].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355156#comment-15355156
 ] 

Julian Reschke edited comment on OAK-4510 at 6/29/16 2:46 PM:
--

trunk: [r1750626|http://svn.apache.org/r1750626]
1.4: [r1750630|http://svn.apache.org/r1750630]
1.2: [r1750645|http://svn.apache.org/r1750645]
1.0: [r1750655|http://svn.apache.org/r1750655]



was (Author: reschke):
trunk: http://svn.apache.org/r1750626
1.4: http://svn.apache.org/r1750630
1.2: http://svn.apache.org/r1750645


> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
> Fix For: 1.6, 1.0.32, 1.2.17, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4517) includedPaths, excludedPaths for sub root index definition need to be relative

2016-06-29 Thread Vikas Saurabh (JIRA)

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

Vikas Saurabh updated OAK-4517:
---
Summary: includedPaths, excludedPaths for sub root index definition need to 
be relative  (was: includedPaths, excludedPaths for sub-rooted index definition 
are relative)

> includedPaths, excludedPaths for sub root index definition need to be relative
> --
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Ravi Kiran Papani
>Assignee: Vikas Saurabh
>  Labels: docs-impacting
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4517) sub-rooted index definition not respecting the includedPaths

2016-06-29 Thread Vikas Saurabh (JIRA)

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

Vikas Saurabh updated OAK-4517:
---
Affects Version/s: (was: 1.2.14)

> sub-rooted index definition not respecting the includedPaths
> 
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Ravi Kiran Papani
>Assignee: Vikas Saurabh
>  Labels: docs-impacting
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke updated OAK-4510:

Labels: candidate_oak_1_0  (was: candidate_oak_1_0 candidate_oak_1_2)

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0
> Fix For: 1.6, 1.2.17, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (OAK-4517) sub-rooted index definition not respecting the includedPaths

2016-06-29 Thread Vikas Saurabh (JIRA)

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

Vikas Saurabh reassigned OAK-4517:
--

Assignee: Vikas Saurabh

> sub-rooted index definition not respecting the includedPaths
> 
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.14
>Reporter: Ravi Kiran Papani
>Assignee: Vikas Saurabh
>  Labels: docs-impacting
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355156#comment-15355156
 ] 

Julian Reschke edited comment on OAK-4510 at 6/29/16 2:03 PM:
--

trunk: http://svn.apache.org/r1750626
1.4: http://svn.apache.org/r1750630
1.2: http://svn.apache.org/r1750645



was (Author: reschke):
trunk: http://svn.apache.org/r1750626
1.4: http://svn.apache.org/r1750630


> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0
> Fix For: 1.6, 1.2.17, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke updated OAK-4510:

Fix Version/s: 1.2.17

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2
> Fix For: 1.6, 1.2.17, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (OAK-3468) Replace BackgroundThread with Scheduler

2016-06-29 Thread Francesco Mari (JIRA)

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

Francesco Mari reassigned OAK-3468:
---

Assignee: Francesco Mari

> Replace BackgroundThread with Scheduler
> ---
>
> Key: OAK-3468
> URL: https://issues.apache.org/jira/browse/OAK-3468
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: segment-tar
>Reporter: Michael Dürig
>Assignee: Francesco Mari
>  Labels: technical_debt
>
> I think we should replace the background thread with some kind of a 
> scheduler. The goal would be to decouple threading from scheduling. IMO 
> threads should not be managed by the application but by the container. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-4522) Improve CommitRateLimiter to optionally block some commits

2016-06-29 Thread Thomas Mueller (JIRA)
Thomas Mueller created OAK-4522:
---

 Summary: Improve CommitRateLimiter to optionally block some commits
 Key: OAK-4522
 URL: https://issues.apache.org/jira/browse/OAK-4522
 Project: Jackrabbit Oak
  Issue Type: New Feature
Reporter: Thomas Mueller


The CommitRateLimiter of OAK-1659 can delay commits, but doesn't currently 
block them, and delays even those commits that are part of handling events. 
Because of that, the queue can still get full, and possibly delaying commits 
while handling events can make the situation even worse.

In Jackrabbit 2.x, we had a similar feature: JCR-2402. Also related is JCR-2746.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke updated OAK-4510:

Fix Version/s: 1.4.5

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2
> Fix For: 1.6, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke updated OAK-4510:

Labels: candidate_oak_1_0 candidate_oak_1_2  (was: candidate_oak_1_0 
candidate_oak_1_2 candidate_oak_1_4)

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2
> Fix For: 1.6, 1.5.5, 1.4.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3403) Multiplexing store support in Property indexes

2016-06-29 Thread Thomas Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355162#comment-15355162
 ] 

Thomas Mueller commented on OAK-3403:
-

The patch in general looks good. There are a few TODOs that would need to be 
addressed (for example OAK-3757). Unfortunately the patch introduces lots of 
wiring, not sure how to avoid that.

> Another option would be to have some config on index indicating that it is 
> enabled for multiplexing

Or, as an alternative, have some configuration that indicates it is explicitly 
disabled, that could be one property per index.


> Multiplexing store support in Property indexes
> --
>
> Key: OAK-3403
> URL: https://issues.apache.org/jira/browse/OAK-3403
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: query
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Attachments: OAK-3403-v1.patch
>
>
> In Oak one can define an index anywhere in the repository under a special 
> node name {{oak:index}}. For e.g. if you want a property index for 
> {{sling:resourceType}} at root level then you can create the index at 
> /oak:index/resourceType and this index would store the index content at 
> /oak:index/resourceType/:index.
> # Writing - At time of commit the IndexEditor would need to decide where the 
> indexed content for a given path should be stored. To start with it can make 
> use of PathToStoreMapper to decide which node to use the indexed content. For 
> e.g. for /libs the indexed content is stored under :index-pr and for /content 
> :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy 
> can be passed the right node
> # Reading - At time of reading the QueryIndex implementation would need to 
> provide a union cursor which can perform lookup from all such store 
> directories for a given index. 
> *Open Items*
> # Supporting unique indexes
> # Introducing new oak:index - Node under oak:index node are special. 
> Depending on parent path it might be possible that they would have to be 
> created in both repositories. For e.g. /oak:index would have to be present in 
> both PR and SR. While /content/foo/oak:index can live only in SR. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-4510) RDBDocumentStore: can't persist _modified value of null

2016-06-29 Thread Julian Reschke (JIRA)

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

Julian Reschke resolved OAK-4510.
-
   Resolution: Fixed
Fix Version/s: 1.5.5
   1.6

> RDBDocumentStore: can't persist _modified value of null
> ---
>
> Key: OAK-4510
> URL: https://issues.apache.org/jira/browse/OAK-4510
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: documentmk, rdbmk
>Affects Versions: 1.0.31, 1.2.16, 1.5.4, 1.4.4
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, candidate_oak_1_4
> Fix For: 1.6, 1.5.5
>
>
> This is tested in {{BasicDocumentStoreTest.testUpdateModified}}, but that 
> test uses {{Collection.NODES}}, and the invalidation logic in 
> {{RDBDocumentStore}} causes the cached value to be re-used because the 
> {{modcount}} matches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-4520) Oak-run: add profiling and analysis tools

2016-06-29 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger resolved OAK-4520.
---
   Resolution: Duplicate
Fix Version/s: (was: 1.6)

> Oak-run: add profiling and analysis tools
> -
>
> Key: OAK-4520
> URL: https://issues.apache.org/jira/browse/OAK-4520
> Project: Jackrabbit Oak
>  Issue Type: New Feature
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
>
> I would like to add analysis and profiling tools to oak-run. Only very 
> simple, small tools, such as the persistent cache dumper tool (OAK-2819). A 
> tool to help profiling (thread dump cleaner), a tool to do statistical 
> analysis on thread dumps, clean a full thread dump, and that can collect 
> thread dumps. Those are just 3 additional classes, and don't have any 
> dependencies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4180) Use another NodeStore as a local cache for a remote Document store

2016-06-29 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra updated OAK-4180:
-
Labels: docs-impacting  (was: )

> Use another NodeStore as a local cache for a remote Document store
> --
>
> Key: OAK-4180
> URL: https://issues.apache.org/jira/browse/OAK-4180
> Project: Jackrabbit Oak
>  Issue Type: New Feature
>  Components: documentmk
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>  Labels: docs-impacting
> Fix For: 1.6
>
> Attachments: OAK-4180-v1.patch
>
>
> DocumentNodeStore makes use of persistent cache to speed up its processing 
> and save on making remote calls for data already present in cache
> In addition to that we can look into make use of Segment NodeStore as kind of 
> "local copy" for certain paths in repository and route calls to it if 
> possible. As part of this task I would like to prototype such an approach. At 
> high level it would work as below
> # At start bootstrap the setup and shutdown it down
> # Use a modified "sidegrade" and copy over the NodeStats from Document store 
> to Segment store. In such a copy we also store some Document specific 
> properties like {{readRevision}} and {{lastRevision}} as hidden property in 
> Segment NodeStates
> # In DocumentNodeStore we refactor the current code to extract a 
> ## {{AbstractDocumentNodeState}} - Abase class which has some logic move out 
> from {{DocumentNodeState}}
> ## {{SegmentDocumentNodeState}} extends above and delegate calls to a wrapped 
> {{SegmentNodeState}}
> ## {{DocumentNodeState}} would also extend {{AbstractDocumentNodeState}} and 
> hence delegate to some calls to parent. In this when a call comes for 
> {{getChildNode}} it can check if that can be served by a local copy of 
> {{SegmentNodeStore}} for given {{rootRevision}} then it delegates to that
> # For update plan is to make use of {{Observer}} which listens to changes and 
> updates the local copy for certain configured paths. 
> ## Key aspect to address here is handle the restart case where in a cluster a 
> specific node restarts after some time then how it refreshes itself there
> *Usage*
> Following 2 OSGi configs would need to be seed
> * org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config
> {noformat}
> secondary=B"true"
> {noformat}
> * 
> org.apache.jackrabbit.oak.plugins.document.secondary.SecondaryStoreCacheService.config
> {noformat}
> includedPaths=[ \
>   "/",
>   ]
> {noformat}
> With these settings if DocumentNodeStoreService gets started it would pickup 
> the cache and use it. Change {{includedPaths}} depending on paths in 
> repository which you want to include in secondary store t



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-4517) sub-rooted index definition not respecting the includedPaths

2016-06-29 Thread Chetan Mehrotra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15355035#comment-15355035
 ] 

Chetan Mehrotra commented on OAK-4517:
--

{{includedPaths}} needs to be relative per current implementation as so far 
index editor do not get to know the absolute path. Would update the docs to 
reflect that

> sub-rooted index definition not respecting the includedPaths
> 
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.14
>Reporter: Ravi Kiran Papani
>  Labels: docs-impacting
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4517) sub-rooted index definition not respecting the includedPaths

2016-06-29 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra updated OAK-4517:
-
Labels: docs-impacting  (was: )

> sub-rooted index definition not respecting the includedPaths
> 
>
> Key: OAK-4517
> URL: https://issues.apache.org/jira/browse/OAK-4517
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Affects Versions: 1.2.14
>Reporter: Ravi Kiran Papani
>  Labels: docs-impacting
>
> I've created an sub-rooted index definition at /content/geometrixx/en as 
> follows
> {code:xml}
> 
>  jcr:primaryType="oak:QueryIndexDefinition"
> async="async"
> compatVersion="{Long}2"
> 
> includedPaths="[/content/geometrixx/en/blog,/content/geometrixx/en/support]"
> indexPath="/content/geometrixx/en/oak:index/cqPageLucene"
> name="cq:Page"
> reindex="{Boolean}false"
> reindexCount="{Long}2"
> type="lucene">
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}true"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="jcr:content"
> relativeNode="{Boolean}false"/>
> 
> 
>  jcr:primaryType="nt:unstructured"
> path="*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*"
> relativeNode="{Boolean}false"/>
>  jcr:primaryType="nt:unstructured"
> path="*/*/*/*"
> relativeNode="{Boolean}false"/>
> 
> 
> 
> 
> 
>  jcr:primaryType="nt:unstructured"
> name="jcr:content/cq:lastModified"
> ordered="{Boolean}true"
> propertyIndex="{Boolean}true"
> type="Date"/>
>  jcr:primaryType="nt:unstructured"
> analyzed="{Boolean}true"
> name="jcr:content/jcr:title"
> ordered="{Boolean}false"
> propertyIndex="{Boolean}true"
> type="String"
> useInSuggest="{Boolean}true"/>
> 
> 
> 
> 
> 
> {code}
> when I'm trying to execute the query 
> "/jcr:root/content/geometrixx/en/blog//element(*, 
> cq:Page)[rep:suggest('le')]/(rep:suggest())" , It's using the correct 
> definition but the results are not coming. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-4521) Oak-run: add profiling and analysis tools

2016-06-29 Thread Thomas Mueller (JIRA)
Thomas Mueller created OAK-4521:
---

 Summary: Oak-run: add profiling and analysis tools
 Key: OAK-4521
 URL: https://issues.apache.org/jira/browse/OAK-4521
 Project: Jackrabbit Oak
  Issue Type: New Feature
Reporter: Thomas Mueller
Assignee: Thomas Mueller
 Fix For: 1.6


I would like to add analysis and profiling tools to oak-run. Only very simple, 
small tools, such as the persistent cache dumper tool (OAK-2819). A tool to 
help profiling (thread dump cleaner), a tool to do statistical analysis on 
thread dumps, clean a full thread dump, and that can collect thread dumps. 
Those are just 3 additional classes, and don't have any dependencies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-4520) Oak-run: add profiling and analysis tools

2016-06-29 Thread Thomas Mueller (JIRA)
Thomas Mueller created OAK-4520:
---

 Summary: Oak-run: add profiling and analysis tools
 Key: OAK-4520
 URL: https://issues.apache.org/jira/browse/OAK-4520
 Project: Jackrabbit Oak
  Issue Type: New Feature
Reporter: Thomas Mueller
Assignee: Thomas Mueller
 Fix For: 1.6


I would like to add analysis and profiling tools to oak-run. Only very simple, 
small tools, such as the persistent cache dumper tool (OAK-2819). A tool to 
help profiling (thread dump cleaner), a tool to do statistical analysis on 
thread dumps, clean a full thread dump, and that can collect thread dumps. 
Those are just 3 additional classes, and don't have any dependencies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4180) Use another NodeStore as a local cache for a remote Document store

2016-06-29 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra updated OAK-4180:
-
Description: 
DocumentNodeStore makes use of persistent cache to speed up its processing and 
save on making remote calls for data already present in cache

In addition to that we can look into make use of Segment NodeStore as kind of 
"local copy" for certain paths in repository and route calls to it if possible. 
As part of this task I would like to prototype such an approach. At high level 
it would work as below

# At start bootstrap the setup and shutdown it down
# Use a modified "sidegrade" and copy over the NodeStats from Document store to 
Segment store. In such a copy we also store some Document specific properties 
like {{readRevision}} and {{lastRevision}} as hidden property in Segment 
NodeStates
# In DocumentNodeStore we refactor the current code to extract a 
## {{AbstractDocumentNodeState}} - Abase class which has some logic move out 
from {{DocumentNodeState}}
## {{SegmentDocumentNodeState}} extends above and delegate calls to a wrapped 
{{SegmentNodeState}}
## {{DocumentNodeState}} would also extend {{AbstractDocumentNodeState}} and 
hence delegate to some calls to parent. In this when a call comes for 
{{getChildNode}} it can check if that can be served by a local copy of 
{{SegmentNodeStore}} for given {{rootRevision}} then it delegates to that
# For update plan is to make use of {{Observer}} which listens to changes and 
updates the local copy for certain configured paths. 
## Key aspect to address here is handle the restart case where in a cluster a 
specific node restarts after some time then how it refreshes itself there

*Currently its in a prototype phase*

*Usage*
Following 2 OSGi configs would need to be seed

* org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config
{noformat}
secondary=B"true"
{noformat}
* 
org.apache.jackrabbit.oak.plugins.document.secondary.SecondaryStoreCacheService.config
{noformat}
includedPaths=[ \
  "/",
  ]
{noformat}

With these settings if DocumentNodeStoreService gets started it would pickup 
the cache and use it. Change {{includedPaths}} depending on paths in repository 
which you want to include in secondary store t

  was:
DocumentNodeStore makes use of persistent cache to speed up its processing and 
save on making remote calls for data already present in cache

In addition to that we can look into make use of Segment NodeStore as kind of 
"local copy" for certain paths in repository and route calls to it if possible. 
As part of this task I would like to prototype such an approach. At high level 
it would work as below

# At start bootstrap the setup and shutdown it down
# Use a modified "sidegrade" and copy over the NodeStats from Document store to 
Segment store. In such a copy we also store some Document specific properties 
like {{readRevision}} and {{lastRevision}} as hidden property in Segment 
NodeStates
# In DocumentNodeStore we refactor the current code to extract a 
## {{AbstractDocumentNodeState}} - Abase class which has some logic move out 
from {{DocumentNodeState}}
## {{SegmentDocumentNodeState}} extends above and delegate calls to a wrapped 
{{SegmentNodeState}}
## {{DocumentNodeState}} would also extend {{AbstractDocumentNodeState}} and 
hence delegate to some calls to parent. In this when a call comes for 
{{getChildNode}} it can check if that can be served by a local copy of 
{{SegmentNodeStore}} for given {{rootRevision}} then it delegates to that
# For update plan is to make use of {{Observer}} which listens to changes and 
updates the local copy for certain configured paths. 
## Key aspect to address here is handle the restart case where in a cluster a 
specific node restarts after some time then how it refreshes itself there

*Currently its in a prototype phase*


> Use another NodeStore as a local cache for a remote Document store
> --
>
> Key: OAK-4180
> URL: https://issues.apache.org/jira/browse/OAK-4180
> Project: Jackrabbit Oak
>  Issue Type: New Feature
>  Components: documentmk
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.6
>
> Attachments: OAK-4180-v1.patch
>
>
> DocumentNodeStore makes use of persistent cache to speed up its processing 
> and save on making remote calls for data already present in cache
> In addition to that we can look into make use of Segment NodeStore as kind of 
> "local copy" for certain paths in repository and route calls to it if 
> possible. As part of this task I would like to prototype such an approach. At 
> high level it would work as below
> # At start bootstrap the setup and shutdown it down
> # Use a modified "sidegrade" and copy over the NodeStats from Document store 
> to Segment 

[jira] [Commented] (OAK-4518) ConcurrentAddReferenceTest fails occasionally

2016-06-29 Thread Chetan Mehrotra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15354866#comment-15354866
 ] 

Chetan Mehrotra commented on OAK-4518:
--

Liked the use of bytecode manipulation to create timing scenarios! 

bq. Unfortunately byteman is LGPL and we can't include the test

Thats bad

> ConcurrentAddReferenceTest fails occasionally
> -
>
> Key: OAK-4518
> URL: https://issues.apache.org/jira/browse/OAK-4518
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, documentmk
>Affects Versions: 1.4
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
> Fix For: 1.6
>
> Attachments: OAK-4518-test.patch
>
>
> Occasional test failures have already been reported in OAK-1472, but it still 
> fails every now and 
> [then|https://travis-ci.org/apache/jackrabbit-oak/builds/140501786].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-4518) ConcurrentAddReferenceTest fails occasionally

2016-06-29 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger updated OAK-4518:
--
Attachment: OAK-4518-test.patch

I'm able to reproduce the issue rather frequently on MongoDB and RDB with tests 
based on the original one and BMUnit (byteman). Unfortunately byteman is LGPL 
and we can't include the test. Maybe it is not actually the random sleeps 
injected into the code, but rather the additional calls that are sufficient to 
trigger the issue more frequently.

> ConcurrentAddReferenceTest fails occasionally
> -
>
> Key: OAK-4518
> URL: https://issues.apache.org/jira/browse/OAK-4518
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, documentmk
>Affects Versions: 1.4
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
> Fix For: 1.6
>
> Attachments: OAK-4518-test.patch
>
>
> Occasional test failures have already been reported in OAK-1472, but it still 
> fails every now and 
> [then|https://travis-ci.org/apache/jackrabbit-oak/builds/140501786].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-4519) Expose SegmentNodeStore as a secondary NodeStore (oak-segment-tar)

2016-06-29 Thread Chetan Mehrotra (JIRA)
Chetan Mehrotra created OAK-4519:


 Summary: Expose SegmentNodeStore as a secondary NodeStore 
(oak-segment-tar)
 Key: OAK-4519
 URL: https://issues.apache.org/jira/browse/OAK-4519
 Project: Jackrabbit Oak
  Issue Type: Technical task
  Components: segment-tar
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
Priority: Minor
 Fix For: 1.6


Issue to track changes done in OAK-4490 for oak-segment-tar



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-4518) ConcurrentAddReferenceTest fails occasionally

2016-06-29 Thread Marcel Reutegger (JIRA)
Marcel Reutegger created OAK-4518:
-

 Summary: ConcurrentAddReferenceTest fails occasionally
 Key: OAK-4518
 URL: https://issues.apache.org/jira/browse/OAK-4518
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: core, documentmk
Affects Versions: 1.4
Reporter: Marcel Reutegger
Assignee: Marcel Reutegger
Priority: Minor
 Fix For: 1.6


Occasional test failures have already been reported in OAK-1472, but it still 
fails every now and 
[then|https://travis-ci.org/apache/jackrabbit-oak/builds/140501786].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3403) Multiplexing store support in Property indexes

2016-06-29 Thread Thomas Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15354670#comment-15354670
 ] 

Thomas Mueller commented on OAK-3403:
-

Unique indexes, what if we don't _prevent_ multiple entries for the same key at 
update time across mounts, but only check at query time? If we detect a 
duplicate key (one entry exists in different mounts), we log an error and 
either fail the query, or return the entry of a pre-defined mount (the "main" 
mount). Reason: we can anyway not prevent multiple entries for the same key 
because repositories could be created independently, and only combined 
(mounted) later on. Well maybe not right now, but that would be a desirable 
feature :-)


> Multiplexing store support in Property indexes
> --
>
> Key: OAK-3403
> URL: https://issues.apache.org/jira/browse/OAK-3403
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: query
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Attachments: OAK-3403-v1.patch
>
>
> In Oak one can define an index anywhere in the repository under a special 
> node name {{oak:index}}. For e.g. if you want a property index for 
> {{sling:resourceType}} at root level then you can create the index at 
> /oak:index/resourceType and this index would store the index content at 
> /oak:index/resourceType/:index.
> # Writing - At time of commit the IndexEditor would need to decide where the 
> indexed content for a given path should be stored. To start with it can make 
> use of PathToStoreMapper to decide which node to use the indexed content. For 
> e.g. for /libs the indexed content is stored under :index-pr and for /content 
> :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy 
> can be passed the right node
> # Reading - At time of reading the QueryIndex implementation would need to 
> provide a union cursor which can perform lookup from all such store 
> directories for a given index. 
> *Open Items*
> # Supporting unique indexes
> # Introducing new oak:index - Node under oak:index node are special. 
> Depending on parent path it might be possible that they would have to be 
> created in both repositories. For e.g. /oak:index would have to be present in 
> both PR and SR. While /content/foo/oak:index can live only in SR. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3403) Multiplexing store support in Property indexes

2016-06-29 Thread Chetan Mehrotra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15354672#comment-15354672
 ] 

Chetan Mehrotra commented on OAK-3403:
--

Uniqueness constraint can be safely enforced if in a 2 store setup (private and 
shared) the private one is immutable. As current logic check the presence of 
given uuid in all the stores and only when none is found it proceeds to create 
one. So if one of them is immutable this would work fine.

Problem would come if both allow writes as in that case its not possible to 
atomically ensure the given node does not exist in both easily. I would update 
the approach to fail if both default and other mount allow writes at same time. 

Also can add a tooling which would check when a system with the new private 
repo is joined to a shared repo checks if the uuid it has are all unique

> Multiplexing store support in Property indexes
> --
>
> Key: OAK-3403
> URL: https://issues.apache.org/jira/browse/OAK-3403
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: query
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Attachments: OAK-3403-v1.patch
>
>
> In Oak one can define an index anywhere in the repository under a special 
> node name {{oak:index}}. For e.g. if you want a property index for 
> {{sling:resourceType}} at root level then you can create the index at 
> /oak:index/resourceType and this index would store the index content at 
> /oak:index/resourceType/:index.
> # Writing - At time of commit the IndexEditor would need to decide where the 
> indexed content for a given path should be stored. To start with it can make 
> use of PathToStoreMapper to decide which node to use the indexed content. For 
> e.g. for /libs the indexed content is stored under :index-pr and for /content 
> :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy 
> can be passed the right node
> # Reading - At time of reading the QueryIndex implementation would need to 
> provide a union cursor which can perform lookup from all such store 
> directories for a given index. 
> *Open Items*
> # Supporting unique indexes
> # Introducing new oak:index - Node under oak:index node are special. 
> Depending on parent path it might be possible that they would have to be 
> created in both repositories. For e.g. /oak:index would have to be present in 
> both PR and SR. While /content/foo/oak:index can live only in SR. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3403) Multiplexing store support in Property indexes

2016-06-29 Thread Thomas Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15354661#comment-15354661
 ] 

Thomas Mueller commented on OAK-3403:
-

The patch is quite large, and changes the existing index implementations quite 
a lot. Backporting fixes will be very hard for example, and there is quite a 
risk of bugs (sure, we have tests).

An alternative (to be discussed) might be to have: at update time, independent 
indexes (the existing property index); and at query time, a new index type 
"multiplex" that combines the result of multiple indexes. So for example, lets 
say there is an index for the property "color", and two repositories, one for 
"/lib" and one for the rest excluding "/lib". Instead of one index, this would 
result in 3 indexes:

* /oak:index/colorContent (excludedPaths = "/lib", type = "property")
* /oak:index/colorLib (includePaths = "/lib", type = "property")
* /oak:index/color (type = "multi", list = "colorContent", "colorLib")

Disadvantage: configuration would be more complex. Advantage: much simple to 
implement, less risky. I might be so simple to implement that we can do both: 
longer term your patch, short term the "multi" index (in a new issue).


> Multiplexing store support in Property indexes
> --
>
> Key: OAK-3403
> URL: https://issues.apache.org/jira/browse/OAK-3403
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: query
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Attachments: OAK-3403-v1.patch
>
>
> In Oak one can define an index anywhere in the repository under a special 
> node name {{oak:index}}. For e.g. if you want a property index for 
> {{sling:resourceType}} at root level then you can create the index at 
> /oak:index/resourceType and this index would store the index content at 
> /oak:index/resourceType/:index.
> # Writing - At time of commit the IndexEditor would need to decide where the 
> indexed content for a given path should be stored. To start with it can make 
> use of PathToStoreMapper to decide which node to use the indexed content. For 
> e.g. for /libs the indexed content is stored under :index-pr and for /content 
> :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy 
> can be passed the right node
> # Reading - At time of reading the QueryIndex implementation would need to 
> provide a union cursor which can perform lookup from all such store 
> directories for a given index. 
> *Open Items*
> # Supporting unique indexes
> # Introducing new oak:index - Node under oak:index node are special. 
> Depending on parent path it might be possible that they would have to be 
> created in both repositories. For e.g. /oak:index would have to be present in 
> both PR and SR. While /content/foo/oak:index can live only in SR. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-4490) Expose SegmentNodeStore as a secondary NodeStore

2016-06-29 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra resolved OAK-4490.
--
   Resolution: Fixed
Fix Version/s: 1.5.5

Committed a bit modified approach which exposes the SegmentNodeStore via a 
{{NodeStoreProvider}}. 

*Usage*
Configure the SegmentNodeStore service as

{noformat}
secondary=true
{noformat}

In this mode SegmentNodeStoreService would wait for a BlobStore reference 
(customBlobStore would be assumed to be true) and later it would register an 
instance of {{NodeStoreProvider}} with {{role}} service property set to 
{{secondary}}

Done changes in both oak-segment and oak-segment-tar

> Expose SegmentNodeStore as a secondary NodeStore
> 
>
> Key: OAK-4490
> URL: https://issues.apache.org/jira/browse/OAK-4490
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: segment-tar, segmentmk
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
> Fix For: 1.6, 1.5.5, Segment Tar 0.0.4
>
> Attachments: OAK-4490-v1.patch
>
>
> For OAK-4180 to work we would need to configure a SegmentNodeStore as a 
> secondary NodeStore. This NodeStore instance is used as a local cache of 
> remote content for certain paths. 
> Point to note
> # The NodeStore instance would be full functional except it would not be 
> registering any Observor 
> # With this its possible to have a setup where multiple NodeStore instances 
> are registered in same service registry. So it needs to be ensure that any 
> other component which depends on NodeStore binds to correct store



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-4369) Introduce interface for Secondary NodeStore provider

2016-06-29 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra resolved OAK-4369.
--
   Resolution: Fixed
Fix Version/s: 1.5.5

Added {{NodeStoreProvider}} interface for the same

* trunk - [1750600|http://svn.apache.org/r1750600]

> Introduce interface for Secondary NodeStore provider
> 
>
> Key: OAK-4369
> URL: https://issues.apache.org/jira/browse/OAK-4369
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: core
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.6, 1.5.5
>
>
> For using SegmentNodeStore as a persistent cache for DocumentNodeStore 
> (OAK-4180) we need a way to access a _secondary_ NodeStore. This store should 
> not be registered directly with the system but provides accessor for 
> obtaining the node store instance
> {code}
> public interface SecondaryNodeStoreProvider {
> NodeStore getSecondaryStore();
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-4475) CI failing on branches due to unknown fixture SEGMENT_TAR

2016-06-29 Thread Chetan Mehrotra (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15354619#comment-15354619
 ] 

Chetan Mehrotra commented on OAK-4475:
--

With the changes done the test now pass fine. However with current change its 
possible that an empty fixture set gets converted to complete fixture set 
including all and we waste more time in build.

Possible options
# Treat SEGMENT_TAR as SEGMENT_MK for branches - This would cause test to run 2 
times against SEGMENT_MK
# Create separate build profile for branches



> CI failing on branches due to unknown fixture SEGMENT_TAR
> -
>
> Key: OAK-4475
> URL: https://issues.apache.org/jira/browse/OAK-4475
> Project: Jackrabbit Oak
>  Issue Type: Bug
>Reporter: Michael Dürig
>Assignee: Chetan Mehrotra
>  Labels: CI, build, jenkins
> Fix For: 1.6
>
> Attachments: OAK-4475-v1.patch
>
>
> These failures are caused by adding the SEGMENT_TAR fixture to the matrix. 
> That one doesn't exit in the branches thus the {{IllegalArgumentException}} 
> "No enum constant".
> See discussion http://markmail.org/message/oaptnvco5y2a4rjk



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)