[jira] [Updated] (OAK-9357) Update to MongoDB Java driver 3.12
[ https://issues.apache.org/jira/browse/OAK-9357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9357: -- Fix Version/s: 1.22.7 > Update to MongoDB Java driver 3.12 > -- > > Key: OAK-9357 > URL: https://issues.apache.org/jira/browse/OAK-9357 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk >Reporter: Marcel Reutegger >Assignee: Marcel Reutegger >Priority: Major > Labels: candidate_oak_1_22 > Fix For: 1.40.0, 1.22.7 > > > The new driver version adds compatibility up to MongoDB 4.4. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-9357) Update to MongoDB Java driver 3.12
[ https://issues.apache.org/jira/browse/OAK-9357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295084#comment-17295084 ] Vinod Holani commented on OAK-9357: --- * merged from trunk to 1.22 in rev [1887163|[http://svn.apache.org/r1887163|http://svn.apache.org/r1886597]] > Update to MongoDB Java driver 3.12 > -- > > Key: OAK-9357 > URL: https://issues.apache.org/jira/browse/OAK-9357 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk >Reporter: Marcel Reutegger >Assignee: Marcel Reutegger >Priority: Major > Labels: candidate_oak_1_22 > Fix For: 1.40.0 > > > The new driver version adds compatibility up to MongoDB 4.4. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17234448#comment-17234448 ] Vinod Holani commented on OAK-9265: --- [~adulceanu] I was not sure of release of 1.36 as snapshot version in trunk was 1.35-SNAPSHOT. I have corrected version as requested. > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Fix For: 1.38.0 > > Attachments: OAK-9265.patch, OAK-9265_v1.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9265: -- Fix Version/s: (was: 1.36) > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Fix For: 1.38.0 > > Attachments: OAK-9265.patch, OAK-9265_v1.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9265: -- Fix Version/s: 1.36 > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Fix For: 1.38.0, 1.36 > > Attachments: OAK-9265.patch, OAK-9265_v1.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17234242#comment-17234242 ] Vinod Holani commented on OAK-9265: --- Fixed in trunk with commit in [r1883582|http://svn.apache.org/viewvc?view=revision&revision=1883582] > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Attachments: OAK-9265.patch, OAK-9265_v1.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani resolved OAK-9265. --- Fix Version/s: 1.38.0 Resolution: Fixed > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Fix For: 1.38.0 > > Attachments: OAK-9265.patch, OAK-9265_v1.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9265: -- Attachment: OAK-9265_v1.patch > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Attachments: OAK-9265.patch, OAK-9265_v1.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-9273) Update oak-jackrabbit documentation for revisionGC in RDBMK
Vinod Holani created OAK-9273: - Summary: Update oak-jackrabbit documentation for revisionGC in RDBMK Key: OAK-9273 URL: https://issues.apache.org/jira/browse/OAK-9273 Project: Jackrabbit Oak Issue Type: Documentation Components: mongomk, rdbmk Reporter: Vinod Holani Documentation at [0] and [1] represents Continuous Revision Garbage Collection is valid only for mongoMK not for rdbMK. But both implementation share common code for this, so this is valid for both(see [2]). Hence documentation has to be updated accordingly. [0] : [https://jackrabbit.apache.org/oak/docs/nodestore/documentmk.html#Revision_Garbage_Collection] [1] : [https://jackrabbit.apache.org/oak/docs/osgi_config.html#document-node-store] [2] : [https://github.com/apache/jackrabbit-oak/blob/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java#L812] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-9272) Oak-Jackrabbit documentation for Conflict Detection and Handling
Vinod Holani created OAK-9272: - Summary: Oak-Jackrabbit documentation for Conflict Detection and Handling Key: OAK-9272 URL: https://issues.apache.org/jira/browse/OAK-9272 Project: Jackrabbit Oak Issue Type: Documentation Components: mongomk Reporter: Vinod Holani Documentation for Conflict Detection and Handling needs to be updated on [0]. Also information like if commit is of bulk type meaning commit root way, then node created and its parent node both will have commit_root property with commit revision while other grand parents onward the revision will be updated in _lastRev property only, needs to be updated. [0] : [https://jackrabbit.apache.org/oak/docs/nodestore/documentmk.html#Conflict_Detection_and_Handling] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9265: -- Attachment: OAK-9265.patch > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Attachments: OAK-9265.patch > > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (OAK-9265) Oak-run tool recovery function scans for previous documents too
[ https://issues.apache.org/jira/browse/OAK-9265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani reassigned OAK-9265: - Assignee: Vinod Holani > Oak-run tool recovery function scans for previous documents too > --- > > Key: OAK-9265 > URL: https://issues.apache.org/jira/browse/OAK-9265 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Affects Versions: 1.34.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > > Recovery utility function of LastRevRecoveryAgent scans for all the documents > present in repository. It should process only active documents or should > exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-9265) Oak-run tool recovery function scans for previous documents too
Vinod Holani created OAK-9265: - Summary: Oak-run tool recovery function scans for previous documents too Key: OAK-9265 URL: https://issues.apache.org/jira/browse/OAK-9265 Project: Jackrabbit Oak Issue Type: Bug Components: mongomk Affects Versions: 1.34.0 Reporter: Vinod Holani Recovery utility function of LastRevRecoveryAgent scans for all the documents present in repository. It should process only active documents or should exclude previous documents. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Comment Edited] (OAK-9130) DocumentDiscoveryLiteService.hasBacklog logging regression (inverted version check)
[ https://issues.apache.org/jira/browse/OAK-9130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17213018#comment-17213018 ] Vinod Holani edited comment on OAK-9130 at 10/13/20, 9:53 AM: -- Back-ported in oak 1.22 with revision [rev 1882451|http://svn.apache.org/viewvc?view=revision&revision=1882451] was (Author: vholani): Back-ported in oak 1.22 with revision [link rev 1882451|http://svn.apache.org/viewvc?view=revision&revision=1882451] > DocumentDiscoveryLiteService.hasBacklog logging regression (inverted version > check) > --- > > Key: OAK-9130 > URL: https://issues.apache.org/jira/browse/OAK-9130 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk >Affects Versions: 1.8.13, 1.22.0, 1.32.0 >Reporter: Stefan Egli >Assignee: Stefan Egli >Priority: Major > Labels: candidate_oak_1_22 > Fix For: 1.34.0 > > Attachments: OAK-9130.patch.v0.txt > > > It looks like OAK-8139 has introduced a regression in the version check logic > of DocumentDiscoveryLiteService.hasBacklog : > [Before the > change|https://github.com/apache/jackrabbit-oak/blame/65f45f7c11d52f76e72645df968f16e4f990fea0/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java#L514] > the logic was: > {noformat} > Version actual = Version.parseVersion((String) > oakVersion); > Version introduced = Version.parseVersion("1.3.5"); > if (actual.compareTo(introduced)>=0) { > warn = true; > } > {noformat} > [After the > change|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.10.6/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java#L514] > the logis is: > {noformat} > warn = versionPredates("1.3.5", (String) oakVersion); > {noformat} > with {{versionPredates}} logic as follows: > {noformat} > static boolean versionPredates(String base, String compare) { > Version one = Version.parseVersion(substSnapshotPrefix(compare)); > Version two = Version.parseVersion(substSnapshotPrefix(base)); > return two.compareTo(one) > 0; > } > {noformat} > The behaviour of {{versionPredates}} can eg. be easily seen in the test: > {noformat} > assertTrue(DocumentDiscoveryLiteService.versionPredates("1.3.5", "1.0.0")); > {noformat} > So before the change the log.warn would be issued for versions *newer or > equal* to 1.3.5, where as after the change the log.warn is issued for > versions *lower* than 1.3.5. > This inverts only the log.warn filtering with no other side-effects. > /cc [~reschke] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-9130) DocumentDiscoveryLiteService.hasBacklog logging regression (inverted version check)
[ https://issues.apache.org/jira/browse/OAK-9130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17213018#comment-17213018 ] Vinod Holani commented on OAK-9130: --- Back-ported in oak 1.22 with revision [link rev 1882451|http://svn.apache.org/viewvc?view=revision&revision=1882451] > DocumentDiscoveryLiteService.hasBacklog logging regression (inverted version > check) > --- > > Key: OAK-9130 > URL: https://issues.apache.org/jira/browse/OAK-9130 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk >Affects Versions: 1.8.13, 1.22.0, 1.32.0 >Reporter: Stefan Egli >Assignee: Stefan Egli >Priority: Major > Labels: candidate_oak_1_22 > Fix For: 1.34.0 > > Attachments: OAK-9130.patch.v0.txt > > > It looks like OAK-8139 has introduced a regression in the version check logic > of DocumentDiscoveryLiteService.hasBacklog : > [Before the > change|https://github.com/apache/jackrabbit-oak/blame/65f45f7c11d52f76e72645df968f16e4f990fea0/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java#L514] > the logic was: > {noformat} > Version actual = Version.parseVersion((String) > oakVersion); > Version introduced = Version.parseVersion("1.3.5"); > if (actual.compareTo(introduced)>=0) { > warn = true; > } > {noformat} > [After the > change|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.10.6/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentDiscoveryLiteService.java#L514] > the logis is: > {noformat} > warn = versionPredates("1.3.5", (String) oakVersion); > {noformat} > with {{versionPredates}} logic as follows: > {noformat} > static boolean versionPredates(String base, String compare) { > Version one = Version.parseVersion(substSnapshotPrefix(compare)); > Version two = Version.parseVersion(substSnapshotPrefix(base)); > return two.compareTo(one) > 0; > } > {noformat} > The behaviour of {{versionPredates}} can eg. be easily seen in the test: > {noformat} > assertTrue(DocumentDiscoveryLiteService.versionPredates("1.3.5", "1.0.0")); > {noformat} > So before the change the log.warn would be issued for versions *newer or > equal* to 1.3.5, where as after the change the log.warn is issued for > versions *lower* than 1.3.5. > This inverts only the log.warn filtering with no other side-effects. > /cc [~reschke] -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Comment Edited] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17197589#comment-17197589 ] Vinod Holani edited comment on OAK-9200 at 9/17/20, 10:10 AM: -- trunk: http://svn.apache.org/viewvc?view=revision&revision=1881787 1.22: http://svn.apache.org/viewvc?view=revision&revision=1881788 was (Author: vholani): trunk: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/?r=1881787 1.22: https://svn.apache.org/repos/asf/jackrabbit/oak/branches/1.22/?r=1881788 > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Fix For: 1.22.5, 1.36.0 > > Attachments: OAK-9200.patch, OAK-9200_V1.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.cre
[jira] [Resolved] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani resolved OAK-9200. --- Fix Version/s: 1.36.0 1.22.5 Resolution: Fixed trunk: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/?r=1881787 1.22: https://svn.apache.org/repos/asf/jackrabbit/oak/branches/1.22/?r=1881788 > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Fix For: 1.22.5, 1.36.0 > > Attachments: OAK-9200.patch, OAK-9200_V1.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:201) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl.createServiceSession(SlingRepositoryImpl.java:135) > at > org.
[jira] [Commented] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17197408#comment-17197408 ] Vinod Holani commented on OAK-9200: --- [~mreutegg] [~angela] I have updated the patch with existing function as it was needed for test cases in oak-jcr module. But I do have updated assignment of variable due to which there won't be frequent calls on whiteboard to get a service. Do have a look at updated attached patch and PR at [0]. [0] : [https://github.com/apache/jackrabbit-oak/pull/249] > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Attachments: OAK-9200.patch, OAK-9200_V1.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2
[jira] [Updated] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9200: -- Attachment: OAK-9200_V1.patch > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Attachments: OAK-9200.patch, OAK-9200_V1.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:201) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl.createServiceSession(SlingRepositoryImpl.java:135) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:171) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:381) > at > org.apac
[jira] [Commented] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17192682#comment-17192682 ] Vinod Holani commented on OAK-9200: --- [~angela] thanks for the feedback. Could you please give some pointers to simulate above test scenario. At [0] issue is occurring as this call is stuck and in waiting phase. In test class if there is no relevant service then at [0] response will be null or relevant object if service is available. So I am not sure how to simulate test case to cause this function call to be in waiting phase. [0] : https://github.com/apache/jackrabbit-oak/blob/1.10/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java#L275 > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Attachments: OAK-9200.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.reposi
[jira] [Commented] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17192095#comment-17192095 ] Vinod Holani commented on OAK-9200: --- [~mreutegg] please review attached patch. I have created PR at [0]. And there is already a test checking if whiteboard is not available then refer to default one at [1]. Not sure if we need to simulate the issue. [0] : https://github.com/apache/jackrabbit-oak/pull/249 [1] : https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImplTest.java#L124 > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Attachments: OAK-9200.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingReposit
[jira] [Updated] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9200: -- Attachment: OAK-9200.patch > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > Attachments: OAK-9200.patch > > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:201) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl.createServiceSession(SlingRepositoryImpl.java:135) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:171) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:381) > at > org.apache.sling.jcr.resource.
[jira] [Updated] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
[ https://issues.apache.org/jira/browse/OAK-9200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-9200: -- Affects Version/s: 1.32.0 > Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to > performance issue > -- > > Key: OAK-9200 > URL: https://issues.apache.org/jira/browse/OAK-9200 > Project: Jackrabbit Oak > Issue Type: Bug > Components: blob, documentmk >Affects Versions: 1.22.4, 1.32.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Major > > Threads are stuck as below logs. The cause of this is that the Oak > BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized > because the UserConfigurationImpl component is starting before the > OakBlobAccessProvider >java.lang.Thread.State: RUNNABLE > at > org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) > at > org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) > - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) > at > org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. > (TokenProviderImpl.java:138) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) > at > com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) > at > java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) > at > org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) > at > org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) > at > org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) > at > javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) > at > javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) > at java.security.AccessController.doPrivileged(java.base@11.0.4/Native > Method) > at > javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) > at > javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) > at > org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) > at > org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:201) > at > com.adobe.granite.repository.impl.SlingRepositoryImpl.createServiceSession(SlingRepositoryImpl.java:135) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:171) > at > org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:381) > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrProviderStateFacto
[jira] [Created] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue
Vinod Holani created OAK-9200: - Summary: Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue Key: OAK-9200 URL: https://issues.apache.org/jira/browse/OAK-9200 Project: Jackrabbit Oak Issue Type: Bug Components: blob, documentmk Affects Versions: 1.22.4 Reporter: Vinod Holani Assignee: Vinod Holani Threads are stuck as below logs. The cause of this is that the Oak BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized because the UserConfigurationImpl component is starting before the OakBlobAccessProvider java.lang.Thread.State: RUNNABLE at org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684) at org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271) at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369) - locked <0x7f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker) at org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168) at org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194) at org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144) at org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275) at org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251) at org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. (TokenProviderImpl.java:138) at org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162) at org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46) at org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43) at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572) at java.util.AbstractList$Itr.next(java.base@11.0.4/AbstractList.java:371) at org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49) at org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49) at org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220) at org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127) at org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52) at javax.security.auth.login.LoginContext.invoke(java.base@11.0.4/LoginContext.java:726) at javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665) at javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663) at java.security.AccessController.doPrivileged(java.base@11.0.4/Native Method) at javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663) at javax.security.auth.login.LoginContext.login(java.base@11.0.4/LoginContext.java:574) at org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163) at org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282) at org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225) at org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275) at com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149) at org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:201) at com.adobe.granite.repository.impl.SlingRepositoryImpl.createServiceSession(SlingRepositoryImpl.java:135) at org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:171) at org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:381) at org.apache.sling.jcr.resource.internal.helper.jcr.JcrProviderStateFactory.createProviderState(JcrProviderStateFactory.java:115) at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.authenticate(JcrResourceProvider.java:304) at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.authenticate(JcrResourceProvider.java:76) at org.apache.sling.resourceresolver.impl.pro
[jira] [Created] (OAK-9168) Integration tests fail on Mongo with authentication enabled
Vinod Holani created OAK-9168: - Summary: Integration tests fail on Mongo with authentication enabled Key: OAK-9168 URL: https://issues.apache.org/jira/browse/OAK-9168 Project: Jackrabbit Oak Issue Type: Bug Components: mongomk Affects Versions: 1.32.0 Reporter: Vinod Holani Assignee: Vinod Holani oak-store-document integration tests fails on Mongo when mongo is started with authentication enabled. When we pass mongo.url with credentials, in code at some point it doesn't pick the provided uri and evaluates uri again without credentials causing this issue. Below error "command listCollections requires authentication" is seen frequently while running tests: [ERROR] medium(org.apache.jackrabbit.oak.plugins.document.blob.ds.DocumentMKDataStoreGetLengthTest) Time elapsed: 0.008 s <<< ERROR! com.mongodb.MongoCommandException: Command failed with error 13 (Unauthorized): 'command listCollections requires authentication' on server localhost:27017. The full response is \{ "ok" : 0.0, "errmsg" : "command listCollections requires authentication", "code" : 13, "codeName" : "Unauthorized" } at org.apache.jackrabbit.oak.plugins.document.blob.ds.DocumentMKDataStoreGetLengthTest.setUpConnection(DocumentMKDataStoreGetLengthTest.java:51) [ERROR] medium(org.apache.jackrabbit.oak.plugins.document.blob.ds.DocumentMKDataStoreGetLengthTest) Time elapsed: 0.008 s <<< ERROR! java.lang.NullPointerException at org.apache.jackrabbit.oak.plugins.document.blob.ds.DocumentMKDataStoreGetLengthTest.tearDownConnection(DocumentMKDataStoreGetLengthTest.java:61) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-9125) Oak-run indexing with MongoDB logs errors in a background thread
[ https://issues.apache.org/jira/browse/OAK-9125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17148294#comment-17148294 ] Vinod Holani commented on OAK-9125: --- [~mreutegg] looks good to me. > Oak-run indexing with MongoDB logs errors in a background thread > > > Key: OAK-9125 > URL: https://issues.apache.org/jira/browse/OAK-9125 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: indexing, oak-run >Affects Versions: 1.8.22 >Reporter: Thomas Mueller >Assignee: Marcel Reutegger >Priority: Major > Attachments: OAK-9125.patch > > > The following error message can be logged in a background thread: > {noformat} > Caused by: com.mongodb.MongoQueryException: > Query failed with error code 13 and error message > 'not authorized on ... to execute command > { find: "nodes", filter: { _id: "0:/" }, limit: 1, singleBatch: true }' > on server ... at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) > {noformat} > Those error messages don't have a negative impact on the index command. > However, they are annoying. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (OAK-9096) RDBDocumentStore: Update error code for MSSQL 2019
[ https://issues.apache.org/jira/browse/OAK-9096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani resolved OAK-9096. --- Fix Version/s: 1.32.0 1.22.4 Resolution: Fixed > RDBDocumentStore: Update error code for MSSQL 2019 > -- > > Key: OAK-9096 > URL: https://issues.apache.org/jira/browse/OAK-9096 > Project: Jackrabbit Oak > Issue Type: Bug > Components: rdbmk >Affects Versions: 1.26.0, 1.22.3, 1.30.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > Fix For: 1.22.4, 1.32.0 > > > Getting below exception on RDBMK setup with MSSQL 2019 using jdbc version > 8.2.2 > > Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakOak0001: > Update for path failedCaused by: > org.apache.jackrabbit.oak.api.CommitFailedException: OakOak0001: Update for > path failed at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.mergeFailed(DocumentNodeStoreBranch.java:334) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$600(DocumentNodeStoreBranch.java:55) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:539) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:194) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:119) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:170) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1869) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:250) > [org.apache.jackrabbit.oak-core:1.10.8] at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:346) > [org.apache.jackrabbit.oak-jcr:1.10.8] at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:493) > [org.apache.jackrabbit.oak-jcr:1.10.8] ... 14 common frames omittedCaused > by: org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: Update > for path failed at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBJDBCTools.asDocumentStoreException(RDBJDBCTools.java:434) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.handleException(RDBDocumentStore.java:2377) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.handleException(RDBDocumentStore.java:2382) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.updateDocument(RDBDocumentStore.java:2108) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalUpdate(RDBDocumentStore.java:1670) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalCreateOrUpdate(RDBDocumentStore.java:1637) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.findAndUpdate(RDBDocumentStore.java:603) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.util.LeaseCheckDocumentStoreWrapper.findAndUpdate(LeaseCheckDocumentStoreWrapper.java:141) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.updateCommitRoot(DocumentNodeStore.java:1540) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.conditionalCommit(Commit.java:440) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:329) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:252) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:220) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:208) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.a
[jira] [Commented] (OAK-9096) RDBDocumentStore: Update error code for MSSQL 2019
[ https://issues.apache.org/jira/browse/OAK-9096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17123650#comment-17123650 ] Vinod Holani commented on OAK-9096: --- Applied fix in trunk : [http://svn.apache.org/r1878387] 1.22 : [http://svn.apache.org/r1878390] > RDBDocumentStore: Update error code for MSSQL 2019 > -- > > Key: OAK-9096 > URL: https://issues.apache.org/jira/browse/OAK-9096 > Project: Jackrabbit Oak > Issue Type: Bug > Components: rdbmk >Affects Versions: 1.26.0, 1.22.3, 1.30.0 >Reporter: Vinod Holani >Assignee: Vinod Holani >Priority: Minor > > Getting below exception on RDBMK setup with MSSQL 2019 using jdbc version > 8.2.2 > > Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakOak0001: > Update for path failedCaused by: > org.apache.jackrabbit.oak.api.CommitFailedException: OakOak0001: Update for > path failed at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.mergeFailed(DocumentNodeStoreBranch.java:334) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$600(DocumentNodeStoreBranch.java:55) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:539) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:194) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:119) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:170) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1869) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:250) > [org.apache.jackrabbit.oak-core:1.10.8] at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:346) > [org.apache.jackrabbit.oak-jcr:1.10.8] at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:493) > [org.apache.jackrabbit.oak-jcr:1.10.8] ... 14 common frames omittedCaused > by: org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: Update > for path failed at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBJDBCTools.asDocumentStoreException(RDBJDBCTools.java:434) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.handleException(RDBDocumentStore.java:2377) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.handleException(RDBDocumentStore.java:2382) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.updateDocument(RDBDocumentStore.java:2108) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalUpdate(RDBDocumentStore.java:1670) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalCreateOrUpdate(RDBDocumentStore.java:1637) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.findAndUpdate(RDBDocumentStore.java:603) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.util.LeaseCheckDocumentStoreWrapper.findAndUpdate(LeaseCheckDocumentStoreWrapper.java:141) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.updateCommitRoot(DocumentNodeStore.java:1540) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.conditionalCommit(Commit.java:440) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:329) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:252) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:220) > [org.apache.jackrabbit.oak-store-document:1.10.8] at > org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:208) > [org.apache.jackrabbit.oa
[jira] [Created] (OAK-9096) RDBDocumentStore: Update error code for MSSQL 2019
Vinod Holani created OAK-9096: - Summary: RDBDocumentStore: Update error code for MSSQL 2019 Key: OAK-9096 URL: https://issues.apache.org/jira/browse/OAK-9096 Project: Jackrabbit Oak Issue Type: Improvement Components: rdbmk Affects Versions: 1.30.0, 1.22.3, 1.26.0 Reporter: Vinod Holani Assignee: Vinod Holani Getting below exception on RDBMK setup with MSSQL 2019 using jdbc version 8.2.2 Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakOak0001: Update for path failedCaused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakOak0001: Update for path failed at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.mergeFailed(DocumentNodeStoreBranch.java:334) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$600(DocumentNodeStoreBranch.java:55) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:539) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:194) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:119) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:170) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1869) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:250) [org.apache.jackrabbit.oak-core:1.10.8] at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:346) [org.apache.jackrabbit.oak-jcr:1.10.8] at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:493) [org.apache.jackrabbit.oak-jcr:1.10.8] ... 14 common frames omittedCaused by: org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: Update for path failed at org.apache.jackrabbit.oak.plugins.document.rdb.RDBJDBCTools.asDocumentStoreException(RDBJDBCTools.java:434) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.handleException(RDBDocumentStore.java:2377) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.handleException(RDBDocumentStore.java:2382) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.updateDocument(RDBDocumentStore.java:2108) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalUpdate(RDBDocumentStore.java:1670) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalCreateOrUpdate(RDBDocumentStore.java:1637) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.findAndUpdate(RDBDocumentStore.java:603) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.util.LeaseCheckDocumentStoreWrapper.findAndUpdate(LeaseCheckDocumentStoreWrapper.java:141) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.updateCommitRoot(DocumentNodeStore.java:1540) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.Commit.conditionalCommit(Commit.java:440) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:329) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:252) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:220) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:208) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:310) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:275) [org.apache.jackrabbit.oak-store-document:1.10.8] at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$500(DocumentNodeStoreBran
[jira] [Commented] (OAK-8944) Missing journal entry on recovery
[ https://issues.apache.org/jira/browse/OAK-8944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17058415#comment-17058415 ] Vinod Holani commented on OAK-8944: --- [~mreutegg] please have a look at proposed change in [https://github.com/mreutegg/jackrabbit-oak/commit/8efd10a614907cad5ffe18383d3e920753345fb9] > Missing journal entry on recovery > - > > Key: OAK-8944 > URL: https://issues.apache.org/jira/browse/OAK-8944 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk >Affects Versions: 1.8.0, 1.10.0, 1.20.0, 1.22.0 >Reporter: Marcel Reutegger >Assignee: Marcel Reutegger >Priority: Minor > > In some cases it may happen that a journal entry is missing when running a > _lastRev recovery. A journal entry for documents that were changed by the > recovery is missing when one or more sweep updates were necessary as part of > the recovery. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8938) Oak run recovery fails when running on mongo replicaSet with auth enabled
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17053048#comment-17053048 ] Vinod Holani commented on OAK-8938: --- [~mreutegg] I have updated the patch with a test case. Please have a look on it. > Oak run recovery fails when running on mongo replicaSet with auth enabled > - > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch, OAK-8938_V1.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command { find: "nodes", > filter: > { _id: "0:/" } > , limit: 1, singleBatch: true }' on server at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on DB to execute command { find: "nodes", filter: > { _id: "0:/" } > , limit: 1, singleBatch: true }' on server at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Oak run recovery fails when running on mongo replicaSet with auth enabled
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Attachment: OAK-8938_V1.patch > Oak run recovery fails when running on mongo replicaSet with auth enabled > - > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch, OAK-8938_V1.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command { find: "nodes", > filter: > { _id: "0:/" } > , limit: 1, singleBatch: true }' on server at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on DB to execute command { find: "nodes", filter: > { _id: "0:/" } > , limit: 1, singleBatch: true }' on server at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Oak run recovery fails when running on mongo replicaSet with auth enabled
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Description: When running oak run jar in recovery mode on a mongo replica set with auth enabled. it fails to pass the auth data for a findOne command called in *GetRootRevisionsCallable* {code:java} DBObject root = collection.findOne(new BasicDBObject(Document.ID, "0:/"));{code} Stack Trace as below 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo instancejava.util.concurrent.ExecutionException: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized on dampro64tmp to execute command { find: "nodes", filter: { _id: "0:/" } , limit: 1, singleBatch: true }' on server at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) at java.lang.Thread.run(Thread.java:745)Caused by: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized on DB to execute command { find: "nodes", filter: { _id: "0:/" } , limit: 1, singleBatch: true }' on server at com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at com.mongodb.Mongo$3.execute(Mongo.java:826) at com.mongodb.Mongo$3.execute(Mongo.java:813) at com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at com.mongodb.DBCursor.hasNext(DBCursor.java:144) at com.mongodb.DBCursor.one(DBCursor.java:683) at com.mongodb.DBCollection.findOne(DBCollection.java:829) at com.mongodb.DBCollection.findOne(DBCollection.java:792) at com.mongodb.DBCollection.findOne(DBCollection.java:739) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) ... 5 common frames omitted was: When running oak run jar in recovery mode on a mongo replica set with auth enabled. it fails to pass the auth data for a findOne command called in *GetRootRevisionsCallable* {code:java} DBObject root = collection.findOne(new BasicDBObject(Document.ID, "0:/"));{code} Stack Trace as below 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo instancejava.util.concurrent.ExecutionException: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized on dampro64tmp to execute command \{ find: "nodes", filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server g4t8842.houston.hpecorp.net:20001 at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) at org.apache.jackrabbit.oak.plugins.documen
[jira] [Comment Edited] (OAK-8938) Oak run recovery fails when running on mongo replicaSet with auth enabled
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17052008#comment-17052008 ] Vinod Holani edited comment on OAK-8938 at 3/5/20, 11:06 AM: - [~mreutegg] I have updated the patch. This is a one liner fix. And backporting was causing a no. of files to be merged even the single commit was dependent on other commits too, so avoided it. Will update the title and other details of the ticket. This patch is for 1.8 branch only. PR is raised at [https://github.com/apache/jackrabbit-oak/pull/195] was (Author: vholani): [~mreutegg] I have updated the patch. This is a one liner fix. And backporting was causing a no. of files to be merged even the single commit was dependent on other commits too, so avoided it. Will update the title and other details of the ticket. This patch is for 1.8 branch only. > Oak run recovery fails when running on mongo replicaSet with auth enabled > - > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3
[jira] [Comment Edited] (OAK-8938) Oak run recovery fails when running on mongo replicaSet with auth enabled
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17052008#comment-17052008 ] Vinod Holani edited comment on OAK-8938 at 3/5/20, 11:05 AM: - [~mreutegg] I have updated the patch. This is a one liner fix. And backporting was causing a no. of files to be merged even the single commit was dependent on other commits too, so avoided it. Will update the title and other details of the ticket. This patch is for 1.8 branch only. was (Author: vholani): [~mreutegg] I have updated the patch. This is a one liner fix. And backporting was causing a no. of files to be merged even the single commit was dependent on other commits too, so avoided it. Will update the title and other details of the ticket. > Oak run recovery fails when running on mongo replicaSet with auth enabled > - > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Oak run recovery fails when running on mongo replicaSet with auth enabled
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Summary: Oak run recovery fails when running on mongo replicaSet with auth enabled (was: Backport part of OAK-7654 to 1.8 branch) > Oak run recovery fails when running on mongo replicaSet with auth enabled > - > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17052008#comment-17052008 ] Vinod Holani commented on OAK-8938: --- [~mreutegg] I have updated the patch. This is a one liner fix. And backporting was causing a no. of files to be merged even the single commit was dependent on other commits too, so avoided it. Will update the title and other details of the ticket. > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Attachment: OAK-8938.patch > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > java.util.concurrent.FutureTask.report(FutureTask.java:122) at > java.util.concurrent.FutureTask.get(FutureTask.java:192) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) > at java.lang.Thread.run(Thread.java:745)Caused by: > com.mongodb.MongoQueryException: Query failed with error code 13 and error > message 'not authorized on dampro64tmp to execute command \{ find: "nodes", > filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server > g4t8842.houston.hpecorp.net:20001 at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at > com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at > com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) > at > com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) > at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at > com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at > com.mongodb.Mongo$3.execute(Mongo.java:826) at > com.mongodb.Mongo$3.execute(Mongo.java:813) at > com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at > com.mongodb.DBCursor.hasNext(DBCursor.java:144) at > com.mongodb.DBCursor.one(DBCursor.java:683) at > com.mongodb.DBCollection.findOne(DBCollection.java:829) at > com.mongodb.DBCollection.findOne(DBCollection.java:792) at > com.mongodb.DBCollection.findOne(DBCollection.java:739) at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) at > com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) > at > org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) > ... 5 common frames omitted -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Description: When running oak run jar in recovery mode on a mongo replica set with auth enabled. it fails to pass the auth data for a findOne command called in *GetRootRevisionsCallable* {code:java} DBObject root = collection.findOne(new BasicDBObject(Document.ID, "0:/"));{code} Stack Trace as below 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo instancejava.util.concurrent.ExecutionException: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized on dampro64tmp to execute command \{ find: "nodes", filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server g4t8842.houston.hpecorp.net:20001 at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:346) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateRevisions(ReplicaSetInfo.java:269) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateReplicaStatus(ReplicaSetInfo.java:181) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.updateLoop(ReplicaSetInfo.java:144) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.run(ReplicaSetInfo.java:133) at java.lang.Thread.run(Thread.java:745)Caused by: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized on dampro64tmp to execute command \{ find: "nodes", filter: { _id: "0:/" }, limit: 1, singleBatch: true }' on server g4t8842.houston.hpecorp.net:20001 at com.mongodb.operation.FindOperation$1.call(FindOperation.java:722) at com.mongodb.operation.FindOperation$1.call(FindOperation.java:711) at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:471) at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:415) at com.mongodb.operation.FindOperation.execute(FindOperation.java:711) at com.mongodb.operation.FindOperation.execute(FindOperation.java:83) at com.mongodb.Mongo$3.execute(Mongo.java:826) at com.mongodb.Mongo$3.execute(Mongo.java:813) at com.mongodb.DBCursor.initializeCursor(DBCursor.java:877) at com.mongodb.DBCursor.hasNext(DBCursor.java:144) at com.mongodb.DBCursor.one(DBCursor.java:683) at com.mongodb.DBCollection.findOne(DBCollection.java:829) at com.mongodb.DBCollection.findOne(DBCollection.java:792) at com.mongodb.DBCollection.findOne(DBCollection.java:739) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:58) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.GetRootRevisionsCallable.call(GetRootRevisionsCallable.java:34) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) at org.apache.jackrabbit.oak.plugins.document.mongo.replica.ReplicaSetInfo.getRootRevisions(ReplicaSetInfo.java:340) ... 5 common frames omitted was: When running oak run jar in recovery mode on a mongo replica set with auth enabled. it fails to pass the auth data for a findOne command called in *GetRootRevisionsCallable* {code:java} DBObject root = collection.findOne(new BasicDBObject(Document.ID, "0:/"));{code} Mainly because of deprecated {{DB}} and {{DBCollection}} classes. > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Stack Trace as below > 07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instance07:07:27.790 [MongoDocumentStore replica set info provider] ERROR > o.a.j.o.p.d.m.replica.ReplicaSetInfo - Can't connect to the Mongo > instancejava.util.concurrent.ExecutionException: > com.mongodb.MongoQueryException: Q
[jira] [Issue Comment Deleted] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Comment: was deleted (was: [~mreutegg] please review added patch. This is backport of commit [http://svn.apache.org/viewvc?view=revision&revision=1836543] from trunk.) > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Priority: Minor > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Mainly because of deprecated {{DB}} and {{DBCollection}} classes. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Attachment: (was: OAK-8938.patch) > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Priority: Minor > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Mainly because of deprecated {{DB}} and {{DBCollection}} classes. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17051935#comment-17051935 ] Vinod Holani commented on OAK-8938: --- [~mreutegg] please review added patch. This is backport of commit [http://svn.apache.org/viewvc?view=revision&revision=1836543] from trunk. > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Mainly because of deprecated {{DB}} and {{DBCollection}} classes. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
[ https://issues.apache.org/jira/browse/OAK-8938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8938: -- Attachment: OAK-8938.patch > Backport part of OAK-7654 to 1.8 branch > --- > > Key: OAK-8938 > URL: https://issues.apache.org/jira/browse/OAK-8938 > Project: Jackrabbit Oak > Issue Type: Task > Components: run >Affects Versions: 1.8.20 >Reporter: Vinod Holani >Priority: Minor > Attachments: OAK-8938.patch > > > When running oak run jar in recovery mode on a mongo replica set with auth > enabled. it fails to pass the auth data for a findOne command called in > *GetRootRevisionsCallable* > > {code:java} > DBObject root = collection.findOne(new BasicDBObject(Document.ID, > "0:/"));{code} > Mainly because of deprecated {{DB}} and {{DBCollection}} classes. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-8938) Backport part of OAK-7654 to 1.8 branch
Vinod Holani created OAK-8938: - Summary: Backport part of OAK-7654 to 1.8 branch Key: OAK-8938 URL: https://issues.apache.org/jira/browse/OAK-8938 Project: Jackrabbit Oak Issue Type: Task Components: run Affects Versions: 1.8.20 Reporter: Vinod Holani When running oak run jar in recovery mode on a mongo replica set with auth enabled. it fails to pass the auth data for a findOne command called in *GetRootRevisionsCallable* {code:java} DBObject root = collection.findOne(new BasicDBObject(Document.ID, "0:/"));{code} Mainly because of deprecated {{DB}} and {{DBCollection}} classes. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8914) Throttle Revision GC
[ https://issues.apache.org/jira/browse/OAK-8914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17043221#comment-17043221 ] Vinod Holani commented on OAK-8914: --- [~mreutegg] thanks for the feedback. Revision GC started via the MBean does not respect the configured delay factor as it is also not respecting the versionGCTimeLimitInSecs so to keep things same avoided this. Added test case as requested. Could you please have a look at the updated patch? > Throttle Revision GC > > > Key: OAK-8914 > URL: https://issues.apache.org/jira/browse/OAK-8914 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8914.patch, OAK-8914_V1.patch > > > Currently the Revision GC is allowed to run at full speed. In some cases the > load caused by the Revision GC can be very high and potentially overwhelm the > MongoDB cluster. The high Revision GC activity tends to be higher than usual > when it was skipped for a longer period of time, e.g. because there is a > checkpoint that prevents it from collecting garbage. > Consider throttling the Revision GC. The implementation already has some > support for throttling. See {{VersionGCOptions.delayFactor}}. However, there > is currently no configuration option in the DocumentNodeStoreService. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8914) Throttle Revision GC
[ https://issues.apache.org/jira/browse/OAK-8914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8914: -- Attachment: OAK-8914_V1.patch > Throttle Revision GC > > > Key: OAK-8914 > URL: https://issues.apache.org/jira/browse/OAK-8914 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8914.patch, OAK-8914_V1.patch > > > Currently the Revision GC is allowed to run at full speed. In some cases the > load caused by the Revision GC can be very high and potentially overwhelm the > MongoDB cluster. The high Revision GC activity tends to be higher than usual > when it was skipped for a longer period of time, e.g. because there is a > checkpoint that prevents it from collecting garbage. > Consider throttling the Revision GC. The implementation already has some > support for throttling. See {{VersionGCOptions.delayFactor}}. However, there > is currently no configuration option in the DocumentNodeStoreService. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (OAK-8914) Throttle Revision GC
[ https://issues.apache.org/jira/browse/OAK-8914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17040650#comment-17040650 ] Vinod Holani commented on OAK-8914: --- [~mreutegg] please review added patch. Relevant PR is [https://github.com/apache/jackrabbit-oak/pull/185]. > Throttle Revision GC > > > Key: OAK-8914 > URL: https://issues.apache.org/jira/browse/OAK-8914 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk >Reporter: Vinod Holani >Priority: Minor > Attachments: OAK-8914.patch > > > Currently the Revision GC is allowed to run at full speed. In some cases the > load caused by the Revision GC can be very high and potentially overwhelm the > MongoDB cluster. The high Revision GC activity tends to be higher than usual > when it was skipped for a longer period of time, e.g. because there is a > checkpoint that prevents it from collecting garbage. > Consider throttling the Revision GC. The implementation already has some > support for throttling. See {{VersionGCOptions.delayFactor}}. However, there > is currently no configuration option in the DocumentNodeStoreService. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8914) Throttle Revision GC
[ https://issues.apache.org/jira/browse/OAK-8914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8914: -- Attachment: OAK-8914.patch > Throttle Revision GC > > > Key: OAK-8914 > URL: https://issues.apache.org/jira/browse/OAK-8914 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk >Reporter: Vinod Holani >Priority: Minor > Attachments: OAK-8914.patch > > > Currently the Revision GC is allowed to run at full speed. In some cases the > load caused by the Revision GC can be very high and potentially overwhelm the > MongoDB cluster. The high Revision GC activity tends to be higher than usual > when it was skipped for a longer period of time, e.g. because there is a > checkpoint that prevents it from collecting garbage. > Consider throttling the Revision GC. The implementation already has some > support for throttling. See {{VersionGCOptions.delayFactor}}. However, there > is currently no configuration option in the DocumentNodeStoreService. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (OAK-8914) Throttle Revision GC
Vinod Holani created OAK-8914: - Summary: Throttle Revision GC Key: OAK-8914 URL: https://issues.apache.org/jira/browse/OAK-8914 Project: Jackrabbit Oak Issue Type: Improvement Components: documentmk Reporter: Vinod Holani Currently the Revision GC is allowed to run at full speed. In some cases the load caused by the Revision GC can be very high and potentially overwhelm the MongoDB cluster. The high Revision GC activity tends to be higher than usual when it was skipped for a longer period of time, e.g. because there is a checkpoint that prevents it from collecting garbage. Consider throttling the Revision GC. The implementation already has some support for throttling. See {{VersionGCOptions.delayFactor}}. However, there is currently no configuration option in the DocumentNodeStoreService. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (OAK-8521) Add shutdown hook for oak-run commands
[ https://issues.apache.org/jira/browse/OAK-8521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8521: -- Priority: Minor (was: Major) > Add shutdown hook for oak-run commands > -- > > Key: OAK-8521 > URL: https://issues.apache.org/jira/browse/OAK-8521 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk >Reporter: Vinod Holani >Priority: Minor > > Ensure there are shutdown hooks in place for the various oak-run commands > that properly stop the repository and release the clusterId. > Many command construct a repository, then perform some operation and then > shut down the repository again. Shutting down the repository will release the > clusterId change the state of the clusterNodes entry back to inactive. In > some cases commands execute for a longer period of time and a user might kill > the process. When this happens, the clusterId is not released and stays in > the active state with a lease that eventually expires. The command > implementations should be improved to register a JVM shutdown hook that > ensures the repository is shut down, even when the process is killed. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (OAK-8521) Add shutdown hook for oak-run commands
Vinod Holani created OAK-8521: - Summary: Add shutdown hook for oak-run commands Key: OAK-8521 URL: https://issues.apache.org/jira/browse/OAK-8521 Project: Jackrabbit Oak Issue Type: Improvement Components: documentmk Reporter: Vinod Holani Ensure there are shutdown hooks in place for the various oak-run commands that properly stop the repository and release the clusterId. Many command construct a repository, then perform some operation and then shut down the repository again. Shutting down the repository will release the clusterId change the state of the clusterNodes entry back to inactive. In some cases commands execute for a longer period of time and a user might kill the process. When this happens, the clusterId is not released and stays in the active state with a lease that eventually expires. The command implementations should be improved to register a JVM shutdown hook that ensures the repository is shut down, even when the process is killed. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (OAK-8498) Proactively detect and fix inconsistencies
Vinod Holani created OAK-8498: - Summary: Proactively detect and fix inconsistencies Key: OAK-8498 URL: https://issues.apache.org/jira/browse/OAK-8498 Project: Jackrabbit Oak Issue Type: Improvement Components: documentmk Environment: While processing 'oak-run recovery' command to resolve inconsistencies in Oak the Sling topology gets blocked and jobs are not processed until the command finishes. This task is about finding a better way to detect and fix inconsistencies in Oak without impact on running instances. Reporter: Vinod Holani -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Commented] (OAK-8466) Old inactive clusterIds may trigger expensive recovery
[ https://issues.apache.org/jira/browse/OAK-8466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16886775#comment-16886775 ] Vinod Holani commented on OAK-8466: --- Hi [~mreutegg] please review the attached patch. > Old inactive clusterIds may trigger expensive recovery > -- > > Key: OAK-8466 > URL: https://issues.apache.org/jira/browse/OAK-8466 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk >Reporter: Vinod Holani >Priority: Major > Attachments: OAK-8466.patch > > > If a clusterId becomes active that has been inactive for a long time and > crashes without ever updating the _lastRev on the root document, then a > _lastRev recovery that kicks in will be expensive. The recovery process will > go through all documents that have been modified while the clusterId was > inactive. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Updated] (OAK-8466) Old inactive clusterIds may trigger expensive recovery
[ https://issues.apache.org/jira/browse/OAK-8466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8466: -- Attachment: OAK-8466.patch > Old inactive clusterIds may trigger expensive recovery > -- > > Key: OAK-8466 > URL: https://issues.apache.org/jira/browse/OAK-8466 > Project: Jackrabbit Oak > Issue Type: Bug > Components: documentmk >Reporter: Vinod Holani >Priority: Major > Attachments: OAK-8466.patch > > > If a clusterId becomes active that has been inactive for a long time and > crashes without ever updating the _lastRev on the root document, then a > _lastRev recovery that kicks in will be expensive. The recovery process will > go through all documents that have been modified while the clusterId was > inactive. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (OAK-8466) Old inactive clusterIds may trigger expensive recovery
Vinod Holani created OAK-8466: - Summary: Old inactive clusterIds may trigger expensive recovery Key: OAK-8466 URL: https://issues.apache.org/jira/browse/OAK-8466 Project: Jackrabbit Oak Issue Type: Bug Components: documentmk Reporter: Vinod Holani If a clusterId becomes active that has been inactive for a long time and crashes without ever updating the _lastRev on the root document, then a _lastRev recovery that kicks in will be expensive. The recovery process will go through all documents that have been modified while the clusterId was inactive. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (OAK-8449) LastRev check/fix in DocumentNodeStore MBean
[ https://issues.apache.org/jira/browse/OAK-8449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16879003#comment-16879003 ] Vinod Holani commented on OAK-8449: --- Thanks [~mreutegg] for the suggestions, could you please have a look at updated patch. > LastRev check/fix in DocumentNodeStore MBean > > > Key: OAK-8449 > URL: https://issues.apache.org/jira/browse/OAK-8449 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8449_1.patch, OAK-8449_2.patch > > > There is existing tooling to check _lastRev consistency of documents in the > DocumentStore. Some of the tooling is limited to MongoDB because it is > implemented as utility functions for the MongoDB shell > ([oak-mongo.js|https://jackrabbit.apache.org/oak/docs/oak-mongo-js/oak.html]). > The oak-run > [recovery|https://github.com/apache/jackrabbit-oak/tree/trunk/oak-run#recovery-mode] > command was initially only available on MongoDB as well, but recently RDB > support was added (OAK-8004). The recovery command however has some > drawbacks. It scans the entire nodes collection, which can be a rather > expensive operation and when started in read-write mode. > This improvement is about adding _lastRev check and fix functionality to the > DocumentNodeStore MBean. The scope of the check and fix would be limited to > some path(s) in order to keep the runtime of the operation low. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (OAK-8449) LastRev check/fix in DocumentNodeStore MBean
[ https://issues.apache.org/jira/browse/OAK-8449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8449: -- Attachment: OAK-8449_2.patch > LastRev check/fix in DocumentNodeStore MBean > > > Key: OAK-8449 > URL: https://issues.apache.org/jira/browse/OAK-8449 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Vinod Holani >Assignee: Marcel Reutegger >Priority: Minor > Attachments: OAK-8449_1.patch, OAK-8449_2.patch > > > There is existing tooling to check _lastRev consistency of documents in the > DocumentStore. Some of the tooling is limited to MongoDB because it is > implemented as utility functions for the MongoDB shell > ([oak-mongo.js|https://jackrabbit.apache.org/oak/docs/oak-mongo-js/oak.html]). > The oak-run > [recovery|https://github.com/apache/jackrabbit-oak/tree/trunk/oak-run#recovery-mode] > command was initially only available on MongoDB as well, but recently RDB > support was added (OAK-8004). The recovery command however has some > drawbacks. It scans the entire nodes collection, which can be a rather > expensive operation and when started in read-write mode. > This improvement is about adding _lastRev check and fix functionality to the > DocumentNodeStore MBean. The scope of the check and fix would be limited to > some path(s) in order to keep the runtime of the operation low. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (OAK-8449) LastRev check/fix in DocumentNodeStore MBean
[ https://issues.apache.org/jira/browse/OAK-8449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878333#comment-16878333 ] Vinod Holani commented on OAK-8449: --- [~mreutegg] please review attached patch > LastRev check/fix in DocumentNodeStore MBean > > > Key: OAK-8449 > URL: https://issues.apache.org/jira/browse/OAK-8449 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Vinod Holani >Priority: Minor > Attachments: OAK-8449_1.patch > > > There is existing tooling to check _lastRev consistency of documents in the > DocumentStore. Some of the tooling is limited to MongoDB because it is > implemented as utility functions for the MongoDB shell > ([oak-mongo.js|https://jackrabbit.apache.org/oak/docs/oak-mongo-js/oak.html]). > The oak-run > [recovery|https://github.com/apache/jackrabbit-oak/tree/trunk/oak-run#recovery-mode] > command was initially only available on MongoDB as well, but recently RDB > support was added (OAK-8004). The recovery command however has some > drawbacks. It scans the entire nodes collection, which can be a rather > expensive operation and when started in read-write mode. > This improvement is about adding _lastRev check and fix functionality to the > DocumentNodeStore MBean. The scope of the check and fix would be limited to > some path(s) in order to keep the runtime of the operation low. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (OAK-8449) LastRev check/fix in DocumentNodeStore MBean
[ https://issues.apache.org/jira/browse/OAK-8449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8449: -- Attachment: OAK-8449_1.patch > LastRev check/fix in DocumentNodeStore MBean > > > Key: OAK-8449 > URL: https://issues.apache.org/jira/browse/OAK-8449 > Project: Jackrabbit Oak > Issue Type: Task > Components: documentmk >Reporter: Vinod Holani >Priority: Minor > Attachments: OAK-8449_1.patch > > > There is existing tooling to check _lastRev consistency of documents in the > DocumentStore. Some of the tooling is limited to MongoDB because it is > implemented as utility functions for the MongoDB shell > ([oak-mongo.js|https://jackrabbit.apache.org/oak/docs/oak-mongo-js/oak.html]). > The oak-run > [recovery|https://github.com/apache/jackrabbit-oak/tree/trunk/oak-run#recovery-mode] > command was initially only available on MongoDB as well, but recently RDB > support was added (OAK-8004). The recovery command however has some > drawbacks. It scans the entire nodes collection, which can be a rather > expensive operation and when started in read-write mode. > This improvement is about adding _lastRev check and fix functionality to the > DocumentNodeStore MBean. The scope of the check and fix would be limited to > some path(s) in order to keep the runtime of the operation low. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (OAK-8459) Intermittent issue with org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest
[ https://issues.apache.org/jira/browse/OAK-8459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8459: -- Summary: Intermittent issue with org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest (was: Having an intermittent issue with org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest) > Intermittent issue with > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest > > > Key: OAK-8459 > URL: https://issues.apache.org/jira/browse/OAK-8459 > Project: Jackrabbit Oak > Issue Type: Bug > Components: mongomk >Reporter: Vinod Holani >Priority: Minor > > Issue is happening while running test cases for a pull request for OAK, below > test case fails intermittently. > Error stacktrace is as below : > [INFO] Running > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest > [ERROR] Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: > 0.137 s <<< FAILURE! - in > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest > [ERROR] > unauthorized(org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest) > Time elapsed: 0.027 s <<< FAILURE! > java.lang.AssertionError > at org.junit.Assert.fail(Assert.java:86) > at org.junit.Assert.assertTrue(Assert.java:41) > at org.junit.Assert.assertNotNull(Assert.java:712) > at org.junit.Assert.assertNotNull(Assert.java:722) > at > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.unauthorizedIfServerStatus(MongoStatusTest.java:208) > at > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.access$000(MongoStatusTest.java:131) > at > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1$1.runCommand(MongoStatusTest.java:155) > at > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatus.getServerStatus(MongoStatus.java:241) > at > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatus.getVersion(MongoStatus.java:149) > at > org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest.unauthorized(MongoStatusTest.java:214) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) > at > com.arakelian.docker.junit.DockerRule$StatementWithDockerRule.evaluate(DockerRule.java:76) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at > org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) > at > org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) > at > org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) > at > org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) > at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (OAK-8459) Having an intermittent issue with org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest
[ https://issues.apache.org/jira/browse/OAK-8459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vinod Holani updated OAK-8459: -- Description: Issue is happening while running test cases for a pull request for OAK, below test case fails intermittently. Error stacktrace is as below : [INFO] Running org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest [ERROR] Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.137 s <<< FAILURE! - in org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest [ERROR] unauthorized(org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest) Time elapsed: 0.027 s <<< FAILURE! java.lang.AssertionError at org.junit.Assert.fail(Assert.java:86) at org.junit.Assert.assertTrue(Assert.java:41) at org.junit.Assert.assertNotNull(Assert.java:712) at org.junit.Assert.assertNotNull(Assert.java:722) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.unauthorizedIfServerStatus(MongoStatusTest.java:208) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.access$000(MongoStatusTest.java:131) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1$1.runCommand(MongoStatusTest.java:155) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatus.getServerStatus(MongoStatus.java:241) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatus.getVersion(MongoStatus.java:149) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest.unauthorized(MongoStatusTest.java:214) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at com.arakelian.docker.junit.DockerRule$StatementWithDockerRule.evaluate(DockerRule.java:76) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) was: Error stacktrace is as below : [INFO] Running org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest [ERROR] Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.137 s <<< FAILURE! - in org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest [ERROR] unauthorized(org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest) Time elapsed: 0.027 s <<< FAILURE! java.lang.AssertionError at org.junit.Assert.fail(Assert.java:86) at org.junit.Assert.assertTrue(Assert.java:41) at org.junit.Assert.assertNotNull(Assert.java:712) at org.junit.Assert.assertNotNull(Assert.java:722) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.unauthorizedIfServerStatus(MongoStatusTest.java:208) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.access$000(MongoStatusTest.java:131) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1$1.runCommand(MongoStatusTest.java:155) at org.apache.jackrabbit.oak.p
[jira] [Created] (OAK-8459) Having an intermittent issue with org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest
Vinod Holani created OAK-8459: - Summary: Having an intermittent issue with org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest Key: OAK-8459 URL: https://issues.apache.org/jira/browse/OAK-8459 Project: Jackrabbit Oak Issue Type: Bug Components: mongomk Reporter: Vinod Holani Error stacktrace is as below : [INFO] Running org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest [ERROR] Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.137 s <<< FAILURE! - in org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest [ERROR] unauthorized(org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest) Time elapsed: 0.027 s <<< FAILURE! java.lang.AssertionError at org.junit.Assert.fail(Assert.java:86) at org.junit.Assert.assertTrue(Assert.java:41) at org.junit.Assert.assertNotNull(Assert.java:712) at org.junit.Assert.assertNotNull(Assert.java:722) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.unauthorizedIfServerStatus(MongoStatusTest.java:208) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1.access$000(MongoStatusTest.java:131) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest$1$1.runCommand(MongoStatusTest.java:155) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatus.getServerStatus(MongoStatus.java:241) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatus.getVersion(MongoStatus.java:149) at org.apache.jackrabbit.oak.plugins.document.mongo.MongoStatusTest.unauthorized(MongoStatusTest.java:214) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at com.arakelian.docker.junit.DockerRule$StatementWithDockerRule.evaluate(DockerRule.java:76) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (OAK-8449) LastRev check/fix in DocumentNodeStore MBean
Vinod Holani created OAK-8449: - Summary: LastRev check/fix in DocumentNodeStore MBean Key: OAK-8449 URL: https://issues.apache.org/jira/browse/OAK-8449 Project: Jackrabbit Oak Issue Type: Task Components: documentmk Reporter: Vinod Holani There is existing tooling to check _lastRev consistency of documents in the DocumentStore. Some of the tooling is limited to MongoDB because it is implemented as utility functions for the MongoDB shell ([oak-mongo.js|https://jackrabbit.apache.org/oak/docs/oak-mongo-js/oak.html]). The oak-run [recovery|https://github.com/apache/jackrabbit-oak/tree/trunk/oak-run#recovery-mode] command was initially only available on MongoDB as well, but recently RDB support was added (OAK-8004). The recovery command however has some drawbacks. It scans the entire nodes collection, which can be a rather expensive operation and when started in read-write mode. This improvement is about adding _lastRev check and fix functionality to the DocumentNodeStore MBean. The scope of the check and fix would be limited to some path(s) in order to keep the runtime of the operation low. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (OAK-8396) Steps missing to run sweep on RDBDocumentStore
Vinod Holani created OAK-8396: - Summary: Steps missing to run sweep on RDBDocumentStore Key: OAK-8396 URL: https://issues.apache.org/jira/browse/OAK-8396 Project: Jackrabbit Oak Issue Type: Documentation Reporter: Vinod Holani Steps in [0] needs to be updated to run sweep on a RDBDocumentStore node. [0] : https://jackrabbit.apache.org/oak/docs/nodestore/documentmk.html#revision-gc -- This message was sent by Atlassian JIRA (v7.6.3#76005)