[jira] [Updated] (OAK-2929) Parent of unseen children must not be removable

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2929:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Parent of unseen children must not be removable
> ---
>
> Key: OAK-2929
> URL: https://issues.apache.org/jira/browse/OAK-2929
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, mongomk
>Affects Versions: 1.0.13, 1.2
>Reporter: Vikas Saurabh
>Assignee: Marcel Reutegger
>Priority: Minor
>  Labels: concurrency, technical_debt
> Fix For: 1.3.8, 1.2.7, 1.0.22
>
> Attachments: IgnoredTestCase.patch
>
>
> With OAK-2673, it's now possible to have hidden intermediate nodes created 
> concurrently.
> So, a scenario like:
> {noformat}
> start -> /:hidden
> N1 creates /:hiddent/parent/node1
> N2 creates /:hidden/parent/node2
> {noformat}
> is allowed.
> But, if N2's creation of {{parent}} got persisted later than that on N1, then 
> N2 is currently able to delete {{parent}} even though there's {{node1}}.



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


[jira] [Updated] (OAK-3054) IndexStatsMBean should provide some details if the async indexing is failing

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3054:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> IndexStatsMBean should provide some details if the async indexing is failing
> 
>
> Key: OAK-3054
> URL: https://issues.apache.org/jira/browse/OAK-3054
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Chetan Mehrotra
>Priority: Minor
>  Labels: resilience, tooling
> Fix For: 1.3.8, 1.2.7
>
>
> If the background indexing fails for some reason it logs the exception for 
> the first time then it logs the exception like _The index update failed ..._. 
> After that if indexing continues to fail then no further logging is done so 
> as to avoid creating noise.
> This poses a problem on long running system where original exception might 
> not be noticed and index does not show updated result. For such cases we 
> should expose the indexing health as part of {{IndexStatsMBean}}. Also we can 
> provide the last recorded exception. 
> Administrator can then check for MBean and enable debug logs for further 
> troubleshooting



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


[jira] [Updated] (OAK-3151) Lucene Version should be based on IndexFormatVersion

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3151:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Lucene Version should be based on IndexFormatVersion
> 
>
> Key: OAK-3151
> URL: https://issues.apache.org/jira/browse/OAK-3151
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>  Labels: technical_debt
> Fix For: 1.3.8
>
>
> Currently in oak-lucene where ever call is made to Lucene it passes 
> Version.LUCENE_47 as hardcoded version. To enable easier upgrade of Lucene 
> and hence change of defaults for fresh setup this version should be instead 
> based on {{IndexFormatVersion}}.
> Say
> * For IndexFormatVersion set to V2 (current default) - Lucene version used is 
> LUCENE_47
> * For IndexFormatVersion set to V3 (proposed) - Lucene version used would be 
> per Lucene library version
> If the index is reindexed then it would automatically be updated to the 
> latest revision



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


[jira] [Updated] (OAK-2656) Test failures in LDAP authentication: Failed to bind an LDAP service

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2656:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Test failures in LDAP authentication: Failed to bind an LDAP service
> 
>
> Key: OAK-2656
> URL: https://issues.apache.org/jira/browse/OAK-2656
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: auth-ldap
> Environment: Jenkins, Ubuntu: 
> https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/
>Reporter: Michael Dürig
>Assignee: Tobias Bocanegra
>Priority: Minor
>  Labels: CI, Jenkins, technical_debt
> Fix For: 1.3.8
>
>
> The following tests all fail with the same error message "Failed to bind an 
> LDAP service (1024) to the service registry.". 
> {noformat} 
> testAuthenticateFail(org.apache.jackrabbit.oak.security.authentication.ldap.LdapProviderTest):
>  Failed to bind an LDAP service (1024) to the service registry.
> testGetGroups2(org.apache.jackrabbit.oak.security.authentication.ldap.LdapProviderTest):
>  Failed to bind an LDAP service (1024) to the service registry.
> org.apache.jackrabbit.oak.security.authentication.ldap.LdapDefaultLoginModuleTest:
>  Failed to bind an LDAP service (1024) to the service registry.
> testGetUserByUserId(org.apache.jackrabbit.oak.security.authentication.ldap.LdapProviderTest):
>  Failed to bind an LDAP service (1024) to the service registry.
> {noformat} 
> The stacktrace is always similar:
> {noformat}
> java.net.BindException: Address already in use]
>   at 
> org.apache.directory.server.ldap.LdapServer.startNetwork(LdapServer.java:528)
>   at 
> org.apache.directory.server.ldap.LdapServer.start(LdapServer.java:394)
>   at 
> org.apache.directory.server.unit.AbstractServerTest.setUp(AbstractServerTest.java:273)
>   at 
> org.apache.jackrabbit.oak.security.authentication.ldap.InternalLdapServer.setUp(InternalLdapServer.java:37)
>   at 
> org.apache.jackrabbit.oak.security.authentication.ldap.LdapLoginTestBase.beforeClass(LdapLoginTestBase.java:86)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
>   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>   at 
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
>   at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
>   at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at 
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>   at 
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>   at 
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>   at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
>   at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
> Caused by: java.net.BindException: Address already in use
>   at sun.nio.ch.Net.bind0(Native Method)
>   at sun.nio.ch.Net.bind(Net.java:444)
>   at sun.nio.ch.Net.bind(Net.java:436)
>   at 
> sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
>   at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
>   at 
> org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:198)
>   at 
> org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:51)
>   at 
> org.apache.mina.core.polling.AbstractPollingIoAcceptor.registerHandles(AbstractPollingIoAcceptor.java:547)
>   at 
> 

[jira] [Updated] (OAK-3149) SuggestHelper should manage a suggestor per index definition

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3149:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> SuggestHelper should manage a suggestor per index definition
> 
>
> Key: OAK-3149
> URL: https://issues.apache.org/jira/browse/OAK-3149
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Tommaso Teofili
> Fix For: 1.3.8
>
>
> {{SuggestHelper}} currently keeps a static reference to suggestor and thus 
> have a singleton suggestor for whole repo. Instead it should be implemented 
> in such a way that a suggestor instance is associated with index definition. 
> Logically the suggestor instance should be part of IndexNode similar to how 
> {{IndexSearcher}} instances are managed



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


[jira] [Updated] (OAK-1648) Creating multiple checkpoint on same head revision overwrites previous entries

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-1648:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Creating multiple checkpoint on same head revision overwrites previous entries
> --
>
> Key: OAK-1648
> URL: https://issues.apache.org/jira/browse/OAK-1648
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: mongomk
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
>  Labels: resilience
> Fix For: 1.3.8
>
>
> Currently when a checkpoint is created in DocumentNodeStore then it is saved 
> in form of currentHeadRev=>expiryTime. Now if multiple checkpoints are 
> created where head revision has not changed then only the last one would be 
> saved and previous entries would be overridden as revision is used as key
> One fix would be to change the expiry time only if the new expiry time is 
> greater than previous entry. However doing that safely in a cluster (check 
> then save) is currently not possible with DocumentStore API as the modCount 
> check if only supported for Nodes.



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


[jira] [Updated] (OAK-3269) Improve Lucene indexer resilience

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3269:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Improve Lucene indexer resilience
> -
>
> Key: OAK-3269
> URL: https://issues.apache.org/jira/browse/OAK-3269
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Michael Marth
>  Labels: resilience
> Fix For: 1.3.8
>
>
> As discussed bilaterally grouping the improvements for Lucene indexer 
> resilience in this issue for easier tracking



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


[jira] [Updated] (OAK-2847) Dependency cleanup

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2847:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Dependency cleanup 
> ---
>
> Key: OAK-2847
> URL: https://issues.apache.org/jira/browse/OAK-2847
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Michael Dürig
>Assignee: Vikas Saurabh
>  Labels: technical_debt
> Fix For: 1.3.8
>
>
> Early in the next release cycle we should go through the list of Oak's 
> dependencies and decide whether we have candidates we want to upgrade and 
> remove orphaned dependencies. 



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


[jira] [Updated] (OAK-3268) Improve datastore resilience

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3268:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Improve datastore resilience
> 
>
> Key: OAK-3268
> URL: https://issues.apache.org/jira/browse/OAK-3268
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: blob
>Reporter: Michael Marth
>  Labels: resilience
> Fix For: 1.3.8
>
>
> As discussed bilaterally grouping the improvements for datastore resilience 
> in this issue for easier tracking



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


[jira] [Updated] (OAK-1575) DocumentNS: Implement refined conflict resolution for addExistingNode conflicts

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-1575:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> DocumentNS: Implement refined conflict resolution for addExistingNode 
> conflicts
> ---
>
> Key: OAK-1575
> URL: https://issues.apache.org/jira/browse/OAK-1575
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: mongomk
>Reporter: Michael Dürig
>Assignee: Marcel Reutegger
>  Labels: resilience
> Fix For: 1.3.8
>
>
> Implement refined conflict resolution for addExistingNode conflicts as 
> defined in the parent issue for the document NS.



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


[jira] [Updated] (OAK-2797) Closeable aspect of Analyzer should be accounted for

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2797:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Closeable aspect of Analyzer should be accounted for
> 
>
> Key: OAK-2797
> URL: https://issues.apache.org/jira/browse/OAK-2797
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Chetan Mehrotra
>  Labels: technical_debt
> Fix For: 1.3.8
>
>
> Lucene {{Analyzer}} implements {{Closeable}} [1] interface and internally it 
> has a ThreadLocal storage of some persistent resource
> So far in oak-lucene we do not take care of closing any analyzer. In fact we 
> use a singleton Analyzer in all cases. Opening this bug to think about this 
> aspect and see if our usage of Analyzer follows the best practices
> [1] 
> http://lucene.apache.org/core/4_7_0/core/org/apache/lucene/analysis/Analyzer.html#close%28%29
> /cc [~teofili] [~alex.parvulescu]



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


[jira] [Updated] (OAK-2910) oak-jcr bundle should be usable as a standalone bundle

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2910:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> oak-jcr bundle should be usable as a standalone bundle
> --
>
> Key: OAK-2910
> URL: https://issues.apache.org/jira/browse/OAK-2910
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>  Labels: modularization, osgi, technical_debt
> Fix For: 1.3.8
>
>
> Currently oak-jcr bundle needs to be embedded within some other bundle if the 
> Oak needs to be properly configured in OSGi env. Need to revisit this aspect 
> and see what needs to be done to enable Oak to be properly configured without 
> requiring the oak-jcr bundle to be embedded in the repo



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


[jira] [Updated] (OAK-3451) OrderedIndexIT fails

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3451:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> OrderedIndexIT fails
> 
>
> Key: OAK-3451
> URL: https://issues.apache.org/jira/browse/OAK-3451
> Project: Jackrabbit Oak
>  Issue Type: Bug
>Reporter: Thomas Mueller
>Assignee: Thomas Mueller
> Fix For: 1.3.8
>
>
> This test fails on oak-jcr:
> {noformat}
> mvn -PintegrationTesting clean install
> oak2035(org.apache.jackrabbit.oak.jcr.OrderedIndexIT)  Time elapsed: 0.979 
> sec  <<< FAILURE!
> java.lang.AssertionError: both path and date failed to match. Expected:
> /content/n1412 - 2012-12-24T23:00:00.000-05:00. 
> Obtained: 
> /content/n1092, 2012-12-24T20:00:00.000-08:00
>   at org.junit.Assert.fail(Assert.java:93)
>   at 
> org.apache.jackrabbit.oak.jcr.OrderedIndexIT.assertRightOrder(OrderedIndexIT.java:232)
>   at 
> org.apache.jackrabbit.oak.jcr.OrderedIndexIT.oak2035(OrderedIndexIT.java:203)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
> {noformat}



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


[jira] [Updated] (OAK-1819) oak-solr-core test failures on Java 8

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-1819:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> oak-solr-core test failures on Java 8
> -
>
> Key: OAK-1819
> URL: https://issues.apache.org/jira/browse/OAK-1819
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: solr
>Affects Versions: 1.0
> Environment: {noformat}
> Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-27 
> 22:15:32-0400)
> Maven home: c:\Program Files\apache-maven-3.1.0
> Java version: 1.8.0, vendor: Oracle Corporation
> Java home: c:\Program Files\Java\jdk1.8.0\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
> {noformat}
>Reporter: Jukka Zitting
>Assignee: Tommaso Teofili
>Priority: Minor
>  Labels: java8, test
> Fix For: 1.3.8
>
>
> The following {{oak-solr-core}} test failures occur when building Oak with 
> Java 8:
> {noformat}
> Failed tests:
>   
> testNativeMLTQuery(org.apache.jackrabbit.oak.plugins.index.solr.query.SolrIndexQueryTest):
>  expected: but was:
>   
> testNativeMLTQueryWithStream(org.apache.jackrabbit.oak.plugins.index.solr.query.SolrIndexQueryTest):
>  expected: but was:
> {noformat}
> The cause of this might well be something as simple as the test case 
> incorrectly expecting a specific ordering of search results.



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


[jira] [Updated] (OAK-2719) Warn about local copy size different than remote copy in oak-lucene with copyOnRead enabled

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2719:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Warn about local copy size different than remote copy in oak-lucene with 
> copyOnRead enabled
> ---
>
> Key: OAK-2719
> URL: https://issues.apache.org/jira/browse/OAK-2719
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
>  Labels: resilience
> Fix For: 1.3.8
>
>
> At times following warning is seen in logs
> {noformat}
> 31.03.2015 14:04:57.610 *WARN* [pool-6-thread-7] 
> org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier Found local copy 
> for _0.cfs in 
> NIOFSDirectory@/path/to/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/1
>  
> lockFactory=NativeFSLockFactory@/path/to/index/e5a943cdec3000bd8ce54924fd2070ab5d1d35b9ecf530963a3583d43bf28293/1
>  but size of local 1040384 differs from remote 1958385. Content would be read 
> from remote file only
> {noformat}
> The file length check provides a weak check around index file consistency. In 
> some cases this warning is misleading. For e.g. 
> # Index version Rev1 - Task submitted to copy index file F1 
> # Index updated to Rev2 - Directory bound to Rev1 is closed
> # Read is performed with Rev2 for F1 - Here as the file would be locally 
> created the size would be different as the copying is in progress
> In such a case the logic should ensure that once copy is done the local file 
> gets used



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


[jira] [Updated] (OAK-3270) Improve DocumentMK resilience

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3270:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Improve DocumentMK resilience
> -
>
> Key: OAK-3270
> URL: https://issues.apache.org/jira/browse/OAK-3270
> Project: Jackrabbit Oak
>  Issue Type: Epic
>  Components: mongomk, rdbmk
>Reporter: Michael Marth
>  Labels: resilience
> Fix For: 1.3.8
>
>
> Collection of DocMK resilience improvements



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


[jira] [Updated] (OAK-2556) do intermediate commit during async indexing

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2556:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> do intermediate commit during async indexing
> 
>
> Key: OAK-2556
> URL: https://issues.apache.org/jira/browse/OAK-2556
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Affects Versions: 1.0.11
>Reporter: Stefan Egli
>  Labels: resilience
> Fix For: 1.3.8
>
>
> A recent issue found at a customer unveils a potential issue with the async 
> indexer. Reading the AsyncIndexUpdate.updateIndex it looks like it is doing 
> the entire update of the async indexer *in one go*, ie in one commit.
> When there is - for some reason - however, a huge diff that the async indexer 
> has to process, the 'one big commit' can become gigantic. There is no limit 
> to the size of the commit in fact.
> So the suggestion is to do intermediate commits while the async indexer is 
> going on. The reason this is acceptable is the fact that by doing async 
> indexing, that index is anyway not 100% up-to-date - so it would not make 
> much of a difference if it would commit after every 100 or 1000 changes 
> either.



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


[jira] [Updated] (OAK-2879) Compaction should check for required disk space before running

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2879:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Compaction should check for required disk space before running
> --
>
> Key: OAK-2879
> URL: https://issues.apache.org/jira/browse/OAK-2879
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: segmentmk
>Reporter: Michael Dürig
>Assignee: Francesco Mari
>  Labels: compaction, doc-impacting, gc, resilience
> Fix For: 1.3.8
>
>
> In the worst case compaction doubles the repository size while running. As 
> this is somewhat unexpected we should check whether there is enough free disk 
> space before running compaction and log a warning otherwise. This is to avoid 
> a common source of running out of disk space and ending up with a corrupted 
> repository. 



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


[jira] [Updated] (OAK-2065) JMX stats for operations being performed in DocumentStore

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2065:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> JMX stats for operations being performed in DocumentStore
> -
>
> Key: OAK-2065
> URL: https://issues.apache.org/jira/browse/OAK-2065
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: mongomk
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>  Labels: tooling
> Fix For: 1.3.8
>
> Attachments: 
> 0001-OAK-2065-JMX-stats-for-operations-being-performed-in.patch, 
> OAK-2065-1.patch
>
>
> Currently DocumentStore performs various background operations like
> # Cache consistency check
> # Pushing the lastRev updates
> # Synchrnizing the root node version
> We should capture some stats like time taken in various task and expose them 
> over JMX to determine if those background operations are performing well or 
> not. For example its important that all tasks performed in background task 
> should be completed under 1 sec (default polling interval). If the time taken 
> increases then it would be cause of concern
> See http://markmail.org/thread/57fax4nyabbubbef



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


[jira] [Updated] (OAK-2891) Use more efficient approach to manage in memory map in LengthCachingDataStore

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2891:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Use more efficient approach to manage in memory map in LengthCachingDataStore
> -
>
> Key: OAK-2891
> URL: https://issues.apache.org/jira/browse/OAK-2891
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: upgrade
>Reporter: Chetan Mehrotra
>Priority: Minor
> Fix For: 1.3.8
>
>
> LengthCachingDataStore introduced in OAK-2882 has an in memory map for 
> keeping the mapping between blobId and length. This would pose issue when 
> number of binaries are very large.
> Instead of in memory map we should use some off heap store like MVStore of 
> MapDB



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


[jira] [Updated] (OAK-2779) DocumentNodeStore should provide option to set initial cache size as percentage of MAX VM size

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2779:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> DocumentNodeStore should provide option to set initial cache size as 
> percentage of MAX VM size
> --
>
> Key: OAK-2779
> URL: https://issues.apache.org/jira/browse/OAK-2779
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: mongomk
>Affects Versions: 1.2
>Reporter: Will McGauley
>  Labels: performance, resilience
> Fix For: 1.3.8
>
>
> Currently the DocumentNodeStore provides a way to configure various cache 
> parameters, including cache size and distribution of that size to various 
> caches.  The distribution of caches is done as a % of the total cache size, 
> which is very helpful, but the overall cache size can only be set as a 
> literal value.
> It would be helpful to achieve a good default value based on the available VM 
> memory as a %, instead of a literal value.  By doing this the cache size 
> would not need to be set by each customer, and a better initial experience 
> would be achieved.  
> I suggest that 25% of the max VM size would be a good starting point.



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


[jira] [Updated] (OAK-3253) Support caching in FileDataStoreService

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3253:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Support caching in FileDataStoreService
> ---
>
> Key: OAK-3253
> URL: https://issues.apache.org/jira/browse/OAK-3253
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: blob
>Affects Versions: 1.3.3
>Reporter: Shashank Gupta
>Assignee: Shashank Gupta
>  Labels: candidate_oak_1_0, candidate_oak_1_2, docs-impacting, 
> features, performance
> Fix For: 1.3.8
>
>
> FDS on SAN/NAS storage is not efficient as it involves network call. In OAK. 
> indexes are stored SAN/NAS and even idle system does lot of read system 
> generated data. 
> Enable caching in FDS so the reads are done locally and async upload to 
> SAN/NAS
> See [previous 
> discussions|https://issues.apache.org/jira/browse/OAK-3005?focusedCommentId=14700801=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14700801]



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


[jira] [Updated] (OAK-2722) IndexCopier fails to delete older index directory upon reindex

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2722:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> IndexCopier fails to delete older index directory upon reindex
> --
>
> Key: OAK-2722
> URL: https://issues.apache.org/jira/browse/OAK-2722
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
>  Labels: resilience
> Fix For: 1.3.8
>
>
> {{IndexCopier}} tries to remove the older index directory incase of reindex. 
> This might fails on platform like Windows if the files are still memory 
> mapped or are locked.
> For deleting directories we would need to take similar approach like being 
> done with deleting old index files i.e. do retries later.
> Due to this following test fails on Windows (Per [~julian.resc...@gmx.de] )
> {noformat}
> Tests run: 9, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.07 sec <<< 
> FAILURE!
> deleteOldPostReindex(org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopierTest)
>   Time elapsed: 0.02 sec  <<< FAILURE!
> java.lang.AssertionError: Old index directory should have been removed
> at org.junit.Assert.fail(Assert.java:93)
> at org.junit.Assert.assertTrue(Assert.java:43)
> at org.junit.Assert.assertFalse(Assert.java:68)
> at 
> org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopierTest.deleteOldPostReindex(IndexCopierTest.java:160)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> {noformat}



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


[jira] [Updated] (OAK-1695) Document Solr index

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-1695:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Document Solr index
> ---
>
> Key: OAK-1695
> URL: https://issues.apache.org/jira/browse/OAK-1695
> Project: Jackrabbit Oak
>  Issue Type: Task
>  Components: doc, solr
>Reporter: Tommaso Teofili
>Assignee: Tommaso Teofili
>  Labels: documentation
> Fix For: 1.3.8
>
>
> Provide documentation about the Oak Solr index. That should contain 
> information about the design and how to configure it.



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


[jira] [Updated] (OAK-2622) dynamic cache allocation

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2622:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> dynamic cache allocation
> 
>
> Key: OAK-2622
> URL: https://issues.apache.org/jira/browse/OAK-2622
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: mongomk
>Affects Versions: 1.0.12
>Reporter: Stefan Egli
>  Labels: performance, resilience
> Fix For: 1.3.8
>
>
> At the moment mongoMk's various caches are configurable (OAK-2546) but other 
> than that static in terms of size. Different use-cases might require 
> different allocations of the sub caches though. And it might not always be 
> possible to find a good configuration upfront for all use cases. 
> We might be able to come up with dynamically allocating the overall cache 
> size to the different sub-caches, based on which cache is how heavily loaded 
> or how well performing for example.



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


[jira] [Updated] (OAK-2808) Active deletion of 'deleted' Lucene index files from DataStore without relying on full scale Blob GC

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2808:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Active deletion of 'deleted' Lucene index files from DataStore without 
> relying on full scale Blob GC
> 
>
> Key: OAK-2808
> URL: https://issues.apache.org/jira/browse/OAK-2808
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Thomas Mueller
>  Labels: datastore, performance
> Fix For: 1.3.8
>
> Attachments: OAK-2808-1.patch, copyonread-stats.png
>
>
> With storing of Lucene index files within DataStore our usage pattern
> of DataStore has changed between JR2 and Oak.
> With JR2 the writes were mostly application based i.e. if application
> stores a pdf/image file then that would be stored in DataStore. JR2 by
> default would not write stuff to DataStore. Further in deployment
> where large number of binary content is present then systems tend to
> share the DataStore to avoid duplication of storage. In such cases
> running Blob GC is a non trivial task as it involves a manual step and
> coordination across multiple deployments. Due to this systems tend to
> delay frequency of GC
> Now with Oak apart from application the Oak system itself *actively*
> uses the DataStore to store the index files for Lucene and there the
> churn might be much higher i.e. frequency of creation and deletion of
> index file is lot higher. This would accelerate the rate of garbage
> generation and thus put lot more pressure on the DataStore storage
> requirements.
> Discussion thread http://markmail.org/thread/iybd3eq2bh372zrl



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


[jira] [Updated] (OAK-3355) Test failure: SpellcheckTest.testSpellcheckMultipleWords

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3355:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Test failure: SpellcheckTest.testSpellcheckMultipleWords
> 
>
> Key: OAK-3355
> URL: https://issues.apache.org/jira/browse/OAK-3355
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: solr
> Environment: 
> https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/
>Reporter: Michael Dürig
>  Labels: ci, jenkins, test-failure
> Fix For: 1.3.8
>
>
> {{org.apache.jackrabbit.oak.jcr.query.SpellcheckTest.testSpellcheckMultipleWords}}
>  fails on Jenkins.
> Failure seen at builds: 389, 392, 395, 396
> https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/396/jdk=jdk-1.6u45,label=Ubuntu,nsfixtures=DOCUMENT_RDB,profile=unittesting/console
> {noformat}
> testSpellcheckMultipleWords(org.apache.jackrabbit.oak.jcr.query.SpellcheckTest)
>   Time elapsed: 0.907 sec  <<< FAILURE!
> junit.framework.ComparisonFailure: expected:<[voting[ in] ontario]> but 
> was:<[voting[, voted,] ontario]>
>   at junit.framework.Assert.assertEquals(Assert.java:85)
>   at junit.framework.Assert.assertEquals(Assert.java:91)
>   at 
> org.apache.jackrabbit.oak.jcr.query.SpellcheckTest.testSpellcheckMultipleWords(SpellcheckTest.java:86)
> {noformat}



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


[jira] [Updated] (OAK-3159) Extend documentation for SegmentNodeStoreService in http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3159:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Extend documentation for SegmentNodeStoreService in 
> http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore
> ---
>
> Key: OAK-3159
> URL: https://issues.apache.org/jira/browse/OAK-3159
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: doc
>Reporter: Konrad Windszus
> Fix For: 1.3.8
>
>
> Currently the documentation at 
> http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore only 
> documents the properties
> # repository.home and
> # tarmk.size
> All the other properties like customBlobStore, tarmk.mode,  are not 
> documented. Please extend that. Also it would be good, if the table could be 
> extended with what type is supported for the individual properties.



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


[jira] [Updated] (OAK-3236) integration test that simulates influence of clock drift

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3236:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> integration test that simulates influence of clock drift
> 
>
> Key: OAK-3236
> URL: https://issues.apache.org/jira/browse/OAK-3236
> Project: Jackrabbit Oak
>  Issue Type: Test
>  Components: core
>Affects Versions: 1.3.4
>Reporter: Stefan Egli
>Assignee: Stefan Egli
> Fix For: 1.3.8
>
>
> Spin-off of OAK-2739 [of this 
> comment|https://issues.apache.org/jira/browse/OAK-2739?focusedCommentId=14693398=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14693398]
>  - ie there should be an integration test that show cases the issues with 
> clock drift and why it is a good idea to have a lease-check (that refuses to 
> let the document store be used any further once the lease times out locally)



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


[jira] [Updated] (OAK-3215) Solr test often fail with No such core: oak

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3215:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Solr test often fail with  No such core: oak
> 
>
> Key: OAK-3215
> URL: https://issues.apache.org/jira/browse/OAK-3215
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: solr
>Reporter: Chetan Mehrotra
>Assignee: Tommaso Teofili
>Priority: Minor
>  Labels: CI
> Fix For: 1.3.8
>
>
> Often it can be seen that all test from oak-solr module fail. And in all such 
> failure following error is reported 
> {noformat}
> org.apache.solr.common.SolrException: No such core: oak
>   at 
> org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:112)
>   at 
> org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:118)
>   at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)
>   at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102)
>   at 
> org.apache.jackrabbit.oak.plugins.index.solr.query.SolrQueryIndexTest.testQueryOnIgnoredExistingProperty(SolrQueryIndexTest.java:330)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> {noformat}
> Most recent failure in 
> https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/325/



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


[jira] [Updated] (OAK-937) Query engine index selection tweaks: shortcut and hint

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-937:
--
Fix Version/s: (was: 1.3.7)
   1.3.8

> Query engine index selection tweaks: shortcut and hint
> --
>
> Key: OAK-937
> URL: https://issues.apache.org/jira/browse/OAK-937
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, query
>Reporter: Alex Parvulescu
>Priority: Minor
>  Labels: performance
> Fix For: 1.3.8
>
>
> This issue covers 2 different changes related to the way the QueryEngine 
> selects a query index:
>  Firstly there could be a way to end the index selection process early via a 
> known constant value: if an index returns a known value token (like -1000) 
> then the query engine would effectively stop iterating through the existing 
> index impls and use that index directly.
>  Secondly it would be nice to be able to specify a desired index (if one is 
> known to perform better) thus skipping the existing selection mechanism (cost 
> calculation and comparison). This could be done via certain query hints [0].
> [0] http://en.wikipedia.org/wiki/Hint_(SQL)



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


[jira] [Updated] (OAK-2477) Move suggester specific config to own configuration node

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2477:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Move suggester specific config to own configuration node
> 
>
> Key: OAK-2477
> URL: https://issues.apache.org/jira/browse/OAK-2477
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Tommaso Teofili
>Assignee: Tommaso Teofili
>  Labels: technical_debt
> Fix For: 1.3.8
>
>
> Currently suggester configuration is controlled via properties defined on 
> main config / props node but it'd be good if we would have its own place to 
> configure the whole suggest feature to not mix up configuration of other 
> features / parameters.



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


[jira] [Updated] (OAK-318) Excerpt support

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-318:
--
Fix Version/s: (was: 1.3.7)
   1.3.8

> Excerpt support
> ---
>
> Key: OAK-318
> URL: https://issues.apache.org/jira/browse/OAK-318
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: core, query
>Reporter: Alex Parvulescu
> Fix For: 1.3.8
>
>
> Test class: ExcerptTest.
> Right now I only see parse errors:
> Caused by: java.text.ParseException: Query:
> {noformat}
> testroot/*[jcr:contains(., 'jackrabbit')]/rep:excerpt((*).); expected: 
> {noformat}



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


[jira] [Updated] (OAK-2911) Analyze inter package dependency in oak-core

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2911:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Analyze inter package dependency in oak-core
> 
>
> Key: OAK-2911
> URL: https://issues.apache.org/jira/browse/OAK-2911
> Project: Jackrabbit Oak
>  Issue Type: Task
>  Components: core
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
>  Labels: modularization, technical_debt
> Fix For: 1.3.8
>
> Attachments: oak-core-jdepend-report.html
>
>
> For better code health the packages should have proper inter dependency. Its 
> preferable that various {{plugin}} packages within oak-core have minimal 
> inter dependency and should be able to exist independently.
> Following work need to be performed
> # Check whats the current state
> # Look into ways to ensure that such dependency are minimal and at minimum 
> must not have cycle
> See 
> * 
> http://stackoverflow.com/questions/3416547/maven-jdepend-fail-build-with-cycles
> * https://github.com/andrena/no-package-cycles-enforcer-rule



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


[jira] [Updated] (OAK-3450) Configuration to have case insensitive suggestions

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3450:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Configuration to have case insensitive suggestions
> --
>
> Key: OAK-3450
> URL: https://issues.apache.org/jira/browse/OAK-3450
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Vikas Saurabh
>Assignee: Vikas Saurabh
>Priority: Minor
> Fix For: 1.3.8
>
>
> Currently suggestions follow the same case as requested in query parameter. 
> It makes sense to allow for it to be case insensitive. e.g. Asking for 
> suggestions for {{cat}} should give {{Cat is an animal}} as well as 
> {{category needs to be assigned}}.



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


[jira] [Updated] (OAK-2618) Improve performance of queries with ORDER BY and multiple OR filters

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2618:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Improve performance of queries with ORDER BY and multiple OR filters
> 
>
> Key: OAK-2618
> URL: https://issues.apache.org/jira/browse/OAK-2618
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Amit Jain
>Assignee: Amit Jain
>  Labels: performance
> Fix For: 1.3.8
>
>
> When multiple OR constraints are specified in the XPATH query, itis broken up 
> into union of multiple clauses. If query includes an order by clause, the 
> sorting in this case is done by traversing the result set in memory leading 
> to slow query performance.
> Possible improvements could include:
> * For indexes which can support multiple filters (like lucene, solr) such 
> queries should be efficient and the query engine can pass-thru the query as 
> is.
> ** Possibly also needed for other cases also. So, we can have some sort of 
> capability advertiser for indexes which can hint the query engine 
> and/or
> * Batched merging of the sorted iterators returned for the multiple union 
> queries (possible externally).



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


[jira] [Updated] (OAK-1557) Mark documents as deleted

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-1557:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Mark documents as deleted
> -
>
> Key: OAK-1557
> URL: https://issues.apache.org/jira/browse/OAK-1557
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: mongomk
>Reporter: Marcel Reutegger
>Assignee: Chetan Mehrotra
>  Labels: performance, resilience
> Fix For: 1.3.8
>
>
> This is an improvement to make a certain use case more efficient. When there 
> is a parent node with frequently added and removed child nodes, the reading 
> of the current list of child nodes becomes inefficient because the decision 
> whether a node exists at a certain revision is done in the DocumentNodeStore 
> and no filtering is done on the MongoDB side.
> So far we figured this would be solved automatically by the MVCC garbage 
> collection, when documents for deleted nodes are removed. However for 
> locations in the repository where nodes are added and deleted again 
> frequently (think of a temp folder), the issue pops up before the GC had a 
> chance to clean up.
> The Document should have an additional field, which is set when the node is 
> deleted in the most recent revision. Based on this field the 
> DocumentNodeStore can limit the query to MongoDB to documents that are not 
> deleted.



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


[jira] [Updated] (OAK-3090) Caching BlobStore implementation

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3090:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Caching BlobStore implementation 
> -
>
> Key: OAK-3090
> URL: https://issues.apache.org/jira/browse/OAK-3090
> Project: Jackrabbit Oak
>  Issue Type: New Feature
>  Components: blob
>Reporter: Chetan Mehrotra
>  Labels: performance, resilience
> Fix For: 1.3.8
>
>
> Storing binaries in Mongo puts lots of pressure on the MongoDB for reads. To 
> reduce the read load it would be useful to have a filesystem based cache of 
> frequently used binaries. 
> This would be similar to CachingFDS (OAK-3005) but would be implemented on 
> top of BlobStore API. 
> Requirements
> * Specify the max binary size which can be cached on file system
> * Limit the size of all binary content present in the cache



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


[jira] [Updated] (OAK-3219) Lucene IndexPlanner should also account for number of property constraints evaluated while giving cost estimation

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3219:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Lucene IndexPlanner should also account for number of property constraints 
> evaluated while giving cost estimation
> -
>
> Key: OAK-3219
> URL: https://issues.apache.org/jira/browse/OAK-3219
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>Priority: Minor
>  Labels: performance
> Fix For: 1.3.8
>
>
> Currently the cost returned by Lucene index is a function of number of 
> indexed documents present in the index. If the number of indexed entries are 
> high then it might reduce chances of this index getting selected if some 
> property index also support of the property constraint.
> {noformat}
> /jcr:root/content/freestyle-cms/customers//element(*, 
> cq:Page)[(jcr:content/@title = 'm' or jcr:like(jcr:content/@title, 'm%')) and 
> jcr:content/@sling:resourceType = '/components/page/customer’]
> {noformat}
> Consider above query with following index definition
> * A property index on resourceType
> * A Lucene index for cq:Page with properties {{jcr:content/title}}, 
> {{jcr:content/sling:resourceType}} indexed and also path restriction 
> evaluation enabled
> Now what the two indexes can help in
> # Property index
> ## Path restriction
> ## Property restriction on  {{sling:resourceType}}
> # Lucene index
> ## NodeType restriction
> ## Property restriction on  {{sling:resourceType}}
> ## Property restriction on  {{title}}
> ## Path restriction
> Now cost estimate currently works like this
> * Property index - {{f(indexedValueEstimate, estimateOfNodesUnderGivenPath)}}
> ** indexedValueEstimate - For 'sling:resourceType=foo' its the approximate 
> count for nodes having that as 'foo'
> ** estimateOfNodesUnderGivenPath - Its derived from an approximate estimation 
> of nodes present under given path
> * Lucene Index - {{f(totalIndexedEntries)}}
> As cost of Lucene is too simple it does not reflect the reality. Following 2 
> changes can be done to make it better
> * Given that Lucene index can handle multiple constraints compared (4) to 
> property index (2), the cost estimate returned by it should also reflect this 
> state. This can be done by setting costPerEntry to 1/(no of property 
> restriction evaluated)
> * Get the count for queried property value - This is similar to what 
> PropertyIndex does and assumes that Lucene can provide that information in 
> O(1) cost. In case of multiple supported property restriction this can be 
> minima of all



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


[jira] [Updated] (OAK-3452) Document possible migration options

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3452:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Document possible migration options
> ---
>
> Key: OAK-3452
> URL: https://issues.apache.org/jira/browse/OAK-3452
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc, upgrade
>Reporter: Tomek Rękawek
> Fix For: 1.3.8
>
>
> Document the oak-upgrade tool and the [SplitBlobStore|OAK-3148] migration on 
> the project page.



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


[jira] [Updated] (OAK-1610) Improved default indexing by JCR type in SolrIndexEditor

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-1610:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Improved default indexing by JCR type in SolrIndexEditor
> 
>
> Key: OAK-1610
> URL: https://issues.apache.org/jira/browse/OAK-1610
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: solr
>Reporter: Tommaso Teofili
> Fix For: 1.3.8
>
>
> It'd be good to provide a typed indexing default so that properties of a 
> certain type can be mapped to certain Solr dynamic fields with dedicated 
> types. The infrastructure for doing that is already in place as per 
> OakSolrConfiguration#getFieldNameFor(Type) but the default configuration is 
> not properly set with a good mapping.



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


[jira] [Updated] (OAK-3335) RepositorySidegrade has runtime dependency on jackrabbit-core

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3335:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> RepositorySidegrade has runtime dependency on jackrabbit-core
> -
>
> Key: OAK-3335
> URL: https://issues.apache.org/jira/browse/OAK-3335
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Affects Versions: 1.3.5
>Reporter: Julian Sedding
>Assignee: Julian Sedding
> Fix For: 1.3.8
>
>
> It should be possible to run {{RepositorySidegrade}} from a runnable jar file 
> that does not embed {{jackrabbit-core}}. E.g. once {{RepositorySidegrade}} is 
> enabled in {{oak-run}}, it shoudl work in the variant that does not embed 
> jackrabbit-core.
> OAK-3239 introduced a transitive runtime dependency from 
> {{RepositorySidegrade}} to {{RepositoryUpgrade}} (via static imports), which 
> has dependencies to classes in {{jackrabbit-core}}. This leads to failure 
> with a {{ClassNotFoundException}}.
> Moving the constants and static method to {{RepositorySidegrade}} and 
> importing them in {{RepositoryUpgrade}} instead should resolve the issue.



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


[jira] [Updated] (OAK-3295) Test failure: NodeTypeTest.trivialUpdates

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3295:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Test failure: NodeTypeTest.trivialUpdates
> -
>
> Key: OAK-3295
> URL: https://issues.apache.org/jira/browse/OAK-3295
> Project: Jackrabbit Oak
>  Issue Type: Bug
> Environment: Jenkins, Ubuntu: 
> https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/
>Reporter: Michael Dürig
>  Labels: CI, Jenkins
> Fix For: 1.3.8
>
>
> {{org.apache.jackrabbit.oak.jcr.nodetype.NodeTypeTest.trivialUpdates}} fails 
> on Jenkins when running the {{DOCUMENT_RDB}} fixture. 
> Failure seen at builds: 236, 249, 253, 297, 357
> https://builds.apache.org/job/Apache%20Jackrabbit%20Oak%20matrix/357/jdk=latest1.7,label=Ubuntu,nsfixtures=DOCUMENT_RDB,profile=unittesting/console
> {noformat}
> trivialUpdates[0](org.apache.jackrabbit.oak.jcr.nodetype.NodeTypeTest)  Time 
> elapsed: 10.066 sec  <<< ERROR!
> javax.jcr.InvalidItemStateException: Failed to register node types.
>   at 
> org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:239)
>   at 
> org.apache.jackrabbit.oak.plugins.nodetype.write.ReadWriteNodeTypeManager.registerNodeTypes(ReadWriteNodeTypeManager.java:156)
>   at 
> org.apache.jackrabbit.oak.jcr.nodetype.NodeTypeTest.trivialUpdates(NodeTypeTest.java:188)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:606)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
>   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
>   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>   at org.junit.runners.Suite.runChild(Suite.java:128)
>   at org.junit.runners.Suite.runChild(Suite.java:24)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakMerge0001: 
> OakMerge0001: Failed to merge changes to the underlying store (retries 5, 
> 3624 ms)
>   at 
> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:183)
>   at 
> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:123)
>   at 
> org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:158)
>   at 
> org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1526)
>   at 
> org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:247)
>   at 
> org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:258)
>   at 
> org.apache.jackrabbit.oak.plugins.nodetype.write.ReadWriteNodeTypeManager.registerNodeTypes(ReadWriteNodeTypeManager.java:145)
>   ... 27 more
> Caused by: org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: 
> update of 3:/jcr:system/jcr:nodeTypes/mix:created failed, race condition?
>   at 
> org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalCreateOrUpdate(RDBDocumentStore.java:830)
>   at 
> 

[jira] [Updated] (OAK-2478) Move spellcheck config to own configuration node

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2478:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Move spellcheck config to own configuration node
> 
>
> Key: OAK-2478
> URL: https://issues.apache.org/jira/browse/OAK-2478
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Tommaso Teofili
>  Labels: technical_debt
> Fix For: 1.3.8
>
>
> Currently spellcheck configuration is controlled via properties defined on 
> main config / props node but it'd be good if we would have its own place to 
> configure the whole spellcheck feature to not mix up configuration of other 
> features / parameters.



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


[jira] [Updated] (OAK-3285) Datastore performance improvements

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3285:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Datastore performance improvements
> --
>
> Key: OAK-3285
> URL: https://issues.apache.org/jira/browse/OAK-3285
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: blob
>Reporter: Michael Marth
>  Labels: performance
> Fix For: 1.3.8
>
>
> Collector issue for DS performance improvements



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


[jira] [Updated] (OAK-3405) Avoid instanceof check in LastRevRecoveryAgent

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3405:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Avoid instanceof check in LastRevRecoveryAgent
> --
>
> Key: OAK-3405
> URL: https://issues.apache.org/jira/browse/OAK-3405
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, mongomk
>Affects Versions: 1.3.4
>Reporter: Marcel Reutegger
>  Labels: technical_debt
> Fix For: 1.3.8
>
>
> Similar to OAK-3390, the instanceof check in LastRevRecoveryAgent does not 
> work when the MongoDocumentStore is wrapped.



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


[jira] [Updated] (OAK-2629) Cleanup Oak Travis jobs

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2629:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Cleanup Oak Travis jobs
> ---
>
> Key: OAK-2629
> URL: https://issues.apache.org/jira/browse/OAK-2629
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: it
>Reporter: Tommaso Teofili
>Assignee: Tommaso Teofili
>  Labels: CI
> Fix For: 1.3.8
>
>
> Since we're moving toward Jenkins, let's remove the Travis jobs for Oak. 



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


[jira] [Updated] (OAK-3092) Cache recently extracted text to avoid duplicate extraction

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3092:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Cache recently extracted text to avoid duplicate extraction
> ---
>
> Key: OAK-3092
> URL: https://issues.apache.org/jira/browse/OAK-3092
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
>  Labels: performance
> Fix For: 1.3.8
>
>
> It can happen that text can be extracted from same binary multiple times in a 
> given indexing cycle. This can happen due to 2 reasons
> # Multiple Lucene indexes indexing same node - A system might have multiple 
> Lucene indexes e.g. a global Lucene index and an index for specific nodeType. 
> In a given indexing cycle same file would be picked up by both index 
> definition and both would extract same text
> # Aggregation - With Index time aggregation same file get picked up multiple 
> times due to aggregation rules
> To avoid the wasted effort for duplicate text extraction from same file in a 
> given indexing cycle it would be better to have an expiring cache which can 
> hold on to extracted text content for some time. The cache should have 
> following features
> # Limit on total size
> # Way to expire the content using [Timed 
> Evicition|https://code.google.com/p/guava-libraries/wiki/CachesExplained#Timed_Eviction]
>  - As chances of same file getting picked up are high only for a given 
> indexing cycle it would be better to expire the cache entries after some time 
> to avoid hogging memory unnecessarily 
> Such a cache would provide following benefit
> # Avoid duplicate text extraction - Text extraction is costly and has to be 
> minimized on critical path of {{indexEditor}}
> # Avoid expensive IO specially if binary content are to be fetched from a 
> remote {{BlobStore}}



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


[jira] [Updated] (OAK-3284) Query performance improvements

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3284:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Query performance improvements
> --
>
> Key: OAK-3284
> URL: https://issues.apache.org/jira/browse/OAK-3284
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene, query
>Reporter: Michael Marth
>  Labels: performance
> Fix For: 1.3.8
>
>
> Collector issue for various performance improvements on query engine and 
> Lucene indexer



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


[jira] [Updated] (OAK-3368) Speed up ExternalPrivateStoreIT and ExternalSharedStoreIT

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3368:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Speed up ExternalPrivateStoreIT and ExternalSharedStoreIT
> -
>
> Key: OAK-3368
> URL: https://issues.apache.org/jira/browse/OAK-3368
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: tarmk-standby
>Reporter: Marcel Reutegger
>Assignee: Manfred Baedke
> Fix For: 1.3.8
>
>
> Both tests run for more than 5 minutes. Most of the time the tests are 
> somehow stuck in shutting down the server.



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


[jira] [Updated] (OAK-3193) Integrate with Felix WebConsole

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3193:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Integrate with Felix WebConsole
> ---
>
> Key: OAK-3193
> URL: https://issues.apache.org/jira/browse/OAK-3193
> Project: Jackrabbit Oak
>  Issue Type: Sub-task
>  Components: webapp
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.3.8
>
>
> To allow better debugging support of repository setup it would be useful if 
> Felix WebConsole is configured with the webapp. This would allow easier 
> access to OSGi runtime state



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


[jira] [Updated] (OAK-3406) Configuration to rank exact match suggestions over partial match suggestions

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3406:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Configuration to rank exact match suggestions over partial match suggestions
> 
>
> Key: OAK-3406
> URL: https://issues.apache.org/jira/browse/OAK-3406
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: lucene
>Reporter: Vikas Saurabh
>Assignee: Vikas Saurabh
>Priority: Minor
> Fix For: 1.3.8
>
>
> Currently, a suggestion query ranks the results according to popularity. But, 
> at times, it's intended to have suggested phrases based on exact matches to 
> be ranked above a more popular suggestion based on a partial match. e.g. a 
> repository might have a 1000 docs with {{windows is a very popular OS}} and 
> say 4 with {{win over them}} - it's a useful case to configure suggestions 
> such that for a suggestions query for {{win}}, we'd get {{win over them}} as 
> a higher ranked suggestion.



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


[jira] [Updated] (OAK-3166) Apply adjustments for newly exported JackrabbitSession#getItemOrNull

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3166:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Apply adjustments for newly exported JackrabbitSession#getItemOrNull
> 
>
> Key: OAK-3166
> URL: https://issues.apache.org/jira/browse/OAK-3166
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Affects Versions: 1.3.3
>Reporter: Joel Richard
>Assignee: Dominique Jäggi
> Fix For: 1.3.8
>
> Attachments: 
> 0001-OAK-3166-Apply-adjustments-for-newly-exported-Jackra.patch
>
>
> Once the patch for JCR-3870 has been applied, there are a few cosmetic 
> adjustments necessary and test coverage should be increased.



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


[jira] [Updated] (OAK-3378) Test failure: SuggestTest

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3378:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Test failure: SuggestTest
> -
>
> Key: OAK-3378
> URL: https://issues.apache.org/jira/browse/OAK-3378
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: solr
>Reporter: Chetan Mehrotra
>Assignee: Tommaso Teofili
>  Labels: ci, jenkins
> Fix For: 1.3.8
>
>
> Various testcases in SuggestTest test are failing on *1.0 branch* for past 
> few runs 390, 391, 394, 398
> {noformat}
> testSuggestSql(org.apache.jackrabbit.oak.jcr.query.SuggestTest)  Time 
> elapsed: 7.963 sec  <<< FAILURE!
> junit.framework.ComparisonFailure: expected:<[[{term=in 2015 a red fox is 
> still a fox,weight=1}, {term=in 2015 my fox is red, like mike's fox and 
> john's fox,weight=1}]]> but was:<[]>
>   at junit.framework.Assert.assertEquals(Assert.java:85)
>   at junit.framework.Assert.assertEquals(Assert.java:91)
>   at 
> org.apache.jackrabbit.oak.jcr.query.SuggestTest.testSuggestSql(SuggestTest.java:50)
> testSuggestXPath(org.apache.jackrabbit.oak.jcr.query.SuggestTest)  Time 
> elapsed: 0.149 sec  <<< FAILURE!
> junit.framework.ComparisonFailure: expected:<[[{term=in 2015 a red fox is 
> still a fox,weight=1}, {term=in 2015 my fox is red, like mike's fox and 
> john's fox,weight=1}]]> but was:<[]>
>   at junit.framework.Assert.assertEquals(Assert.java:85)
>   at junit.framework.Assert.assertEquals(Assert.java:91)
>   at 
> org.apache.jackrabbit.oak.jcr.query.SuggestTest.testSuggestXPath(SuggestTest.java:67)
>   
> {noformat}



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


[jira] [Updated] (OAK-3388) Inconsistent read in cluster with clock differences

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3388:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Inconsistent read in cluster with clock differences
> ---
>
> Key: OAK-3388
> URL: https://issues.apache.org/jira/browse/OAK-3388
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, mongomk
>Affects Versions: 1.0, 1.2
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>  Labels: resilience
> Fix For: 1.3.8
>
> Attachments: OAK-3388.patch
>
>
> This issue is similar to OAK-2929 but related to how the DocumentNodeStore 
> reads a node state when there is a clock difference between multiple cluster 
> nodes. The node state read from a NodeDocument may not be correct when there 
> is a clock difference.



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


[jira] [Updated] (OAK-2675) Include change type information in perf logs for diff logic

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-2675:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Include change type information in perf logs for diff logic
> ---
>
> Key: OAK-2675
> URL: https://issues.apache.org/jira/browse/OAK-2675
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Chetan Mehrotra
>Priority: Minor
>  Labels: observation, performance, resilience, tooling
> Fix For: 1.3.8
>
>
> Currently the diff perf logs in {{NodeObserver}} does not indicate what type 
> of change was processed i.e. was the change an internal one or an external 
> one. 
> Having this information would allow us to determine how the cache is being 
> used. For e.g. if we see slower number even for local changes then that would 
> indicate that there is some issue with the diff cache and its not be being 
> utilized effectively 



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


[jira] [Resolved] (OAK-2623) Add test for GC of previous docs of a deleted document

2015-09-27 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra resolved OAK-2623.
--
Resolution: Fixed

Applied the patch with 1705603

> Add test for GC of previous docs of a deleted document
> --
>
> Key: OAK-2623
> URL: https://issues.apache.org/jira/browse/OAK-2623
> Project: Jackrabbit Oak
>  Issue Type: Task
>  Components: mongomk
>Reporter: Chetan Mehrotra
>Assignee: Vikas Saurabh
>Priority: Minor
>  Labels: CI, technical_debt
> Fix For: 1.3.8
>
> Attachments: OAK-2623.patch
>
>
> As 
> [noted|https://issues.apache.org/jira/browse/OAK-2557?focusedCommentId=14358704#comment-14358704]
>  by [~tmueller] we do not have a test coverage for case when a deleted 
> document has previous documents and Version GC should also remove those 
> previous documents



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


[jira] [Updated] (OAK-3367) Boosting fields not working as expected

2015-09-27 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra updated OAK-3367:
-
Fix Version/s: 1.0.22

> Boosting fields not working as expected
> ---
>
> Key: OAK-3367
> URL: https://issues.apache.org/jira/browse/OAK-3367
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: lucene
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.3.6, 1.2.6, 1.0.22
>
> Attachments: OAK-3367.patch
>
>
> When the boost support was added the intention was to support a usecase like 
> {quote}
> For the fulltext search on a node where the fulltext content is derived from 
> multiple field it should be possible to boost specific text contributed by 
> individual field. Meaning that if a title field is boosted more than 
> description, the title (part) in the fulltext field will mean more than the 
> description (part) in the fulltext field.
> {quote}
> This would enable a user to perform a search like 
> _/jcr:root/content/geometrixx-outdoors/en//element(*, 
> cq:Page)\[jcr:contains(., 'Keyword')\]_ and get a result where pages having 
> 'Keyword' in title come above in search result compared to those where 
> Keyword is found in description.
> Current implementation just sets the boost while add the field value to 
> fulltext field with the intention that Lucene would use the boost as 
> explained above. However it does not work like that and boost value gets 
> multiplies with other field and hence boosting does not work as expected



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


[jira] [Resolved] (OAK-3412) Node name having non space whitspace chars should not be allowed

2015-09-27 Thread Chetan Mehrotra (JIRA)

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

Chetan Mehrotra resolved OAK-3412.
--
   Resolution: Fixed
Fix Version/s: (was: 1.3.8)
   1.3.7

Done 
* trunk - 1705005
* 1.0 - 1705601
* 1.2 - 1705602

> Node name having non space whitspace chars should not be allowed
> 
>
> Key: OAK-3412
> URL: https://issues.apache.org/jira/browse/OAK-3412
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.3.7, 1.2.7, 1.0.22
>
> Attachments: OAK-3412.patch
>
>
> Due to the changes done in OAK-1174 node with non space whitespace chars like 
> '\n', '\r' etc can be created. This is not desirable and also JR2 does not 
> allow such node to be created so check must be added to prevent such a name 
> from getting created.
> As discussed in [1] this is regression due to usage of incorrect utility 
> method as part of [2] the fix can be simply using a 
> {{Character#isWhitespace}} instead of {{Character#isSpaceChar}}
> [1] 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201509.mbox/%3CCAHCW-mkkGtxkn%2B9xfXuvMTfgykewjMPsLwrVH%2B00%2BXaBQjA0sg%40mail.gmail.com%3E
> [2] 
> https://github.com/apache/jackrabbit-oak/commit/342809f7f04221782ca6bbfbde9392ec4ff441c2



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


[jira] [Updated] (OAK-3436) Prevent missing checkpoint due to unstable topology from causing complete reindexing

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3436:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Prevent missing checkpoint due to unstable topology from causing complete 
> reindexing
> 
>
> Key: OAK-3436
> URL: https://issues.apache.org/jira/browse/OAK-3436
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: query
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.3.8, 1.2.7, 1.0.22
>
> Attachments: AsyncIndexUpdateClusterTest.java, OAK-3436-0.patch
>
>
> Async indexing logic relies on embedding application to ensure that async 
> indexing job is run as a singleton in a cluster. For Sling based apps it 
> depends on Sling Discovery support. At times it is being seen that if 
> topology is not stable then different cluster nodes can consider them as 
> leader and execute the async indexing job concurrently.
> This can cause problem as both cluster node might not see same repository 
> state (due to write skew and eventual consistency) and might remove the 
> checkpoint which other cluster node is still relying upon. For e.g. consider 
> a 2 node cluster N1 and N2 where both are performing async indexing.
> # Base state - CP1 is the checkpoint for "async" job
> # N2 starts indexing and removes changes CP1 to CP2. For Mongo the 
> checkpoints are saved in {{settings}} collection
> # N1 also decides to execute indexing but has yet not seen the latest 
> repository state so still thinks that CP1 is the base checkpoint and tries to 
> read it. However CP1 is already removed from {{settings}} and this makes N1 
> think that checkpoint is missing and it decides to reindex everything!
> To avoid this topology must be stable but at Oak level we should still handle 
> such a case and avoid doing a full reindexing. So we would need to have a 
> {{MissingCheckpointStrategy}} similar to {{MissingIndexEditorStrategy}} as 
> done in OAK-2203 
> Possible approaches
> # A1 - Fail the indexing run if checkpoint is missing - Checkpoint being 
> missing can have valid reason and invalid reason. Need to see what are valid 
> scenarios where a checkpoint can go missing
> # A2 - When a checkpoint is created also store the creation time. When a 
> checkpoint is found to be missing and its a *recent* checkpoint then fail the 
> run. For e.g. we would fail the run till checkpoint found to be missing is 
> less than an hour old (for just started take startup time into account)



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


[jira] [Updated] (OAK-3412) Node name having non space whitspace chars should not be allowed

2015-09-27 Thread Amit Jain (JIRA)

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

Amit Jain updated OAK-3412:
---
Fix Version/s: (was: 1.3.7)
   1.3.8

> Node name having non space whitspace chars should not be allowed
> 
>
> Key: OAK-3412
> URL: https://issues.apache.org/jira/browse/OAK-3412
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core
>Reporter: Chetan Mehrotra
>Assignee: Chetan Mehrotra
> Fix For: 1.3.8, 1.2.7, 1.0.22
>
> Attachments: OAK-3412.patch
>
>
> Due to the changes done in OAK-1174 node with non space whitespace chars like 
> '\n', '\r' etc can be created. This is not desirable and also JR2 does not 
> allow such node to be created so check must be added to prevent such a name 
> from getting created.
> As discussed in [1] this is regression due to usage of incorrect utility 
> method as part of [2] the fix can be simply using a 
> {{Character#isWhitespace}} instead of {{Character#isSpaceChar}}
> [1] 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201509.mbox/%3CCAHCW-mkkGtxkn%2B9xfXuvMTfgykewjMPsLwrVH%2B00%2BXaBQjA0sg%40mail.gmail.com%3E
> [2] 
> https://github.com/apache/jackrabbit-oak/commit/342809f7f04221782ca6bbfbde9392ec4ff441c2



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