[jira] [Commented] (OAK-3003) Improve login performance with huge group membership
[ https://issues.apache.org/jira/browse/OAK-3003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14643999#comment-14643999 ] Marius Petria commented on OAK-3003: [~anchela] sling content distribution uses vault API to package/install users, so as long as vault respects the protected nodes we should be fine (did not test it though). > Improve login performance with huge group membership > > > Key: OAK-3003 > URL: https://issues.apache.org/jira/browse/OAK-3003 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core >Reporter: angela >Assignee: angela > Attachments: OAK-3003.patch, OAK-3003_2.patch, > group_cache_in_userprincipalprovider.txt > > > As visible when running {{LoginWithMembershipTest}} default login performance > (which uses the {{o.a.j.oak.security.principal.PrincipalProviderImpl}} to > lookup the complete set of principals) suffers when a given user is member of > a huge number of groups (see also OAK-2690 for benchmark data). > While using dynamic group membership (and thus a custom {{PrincipalProvider}} > would be the preferable way to deal with this, we still want to optimize > {{PrincipalProvider.getPrincipals(String userId}} for the default > implementation. > With the introduction of a less generic implementation in OAK-2690, we might > be able to come up with an optimization that makes use of the very > implementation details of the user management while at the same time being > able to properly secure it as we won't need to extend the public API. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Reopened] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marius Petria reopened OAK-2499: I found a small issue with the current implementation. The description is set on SegmentNodeStoreService component but should be set in registerNodeStore method on the NodeStore service. [1] http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/SegmentNodeStoreService.java?view=markup&pathrev=1663854 > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Fix For: 1.1.8 > > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346910#comment-14346910 ] Marius Petria commented on OAK-2499: That is perfect, thanks. > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345102#comment-14345102 ] Marius Petria edited comment on OAK-2499 at 3/3/15 2:34 PM: bq. May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. EDIT: Actually I think the best way would be to follow the OSGI "pattern" for maps, i.e. to register a String array with key value entries separated by "=" (something PropertiesUtil.toMap can make sense of). As keys are controlled it is not even necessary to escape what comes after the first =. was (Author: mpetria): bq. May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345102#comment-14345102 ] Marius Petria edited comment on OAK-2499 at 3/3/15 2:17 PM: bq. May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. was (Author: mpetria): .bqoute May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345102#comment-14345102 ] Marius Petria edited comment on OAK-2499 at 3/3/15 2:16 PM: .bqoute May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. was (Author: mpetria): .bquote May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345102#comment-14345102 ] Marius Petria commented on OAK-2499: .bquote May be JSON is an overkill ... so I am open to change here I am ok with whatever you decide as a serialization format. > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344706#comment-14344706 ] Marius Petria commented on OAK-2499: Hi Chetan, I am fine with whatever map serialization is convenient for OAK (though comma separated are a bit more easy to parse, json needs a library). I see that you exposed oak.blobstore.description on some BlobStore services. I was thinking that maybe this property should be exposed also on the NodeStore services, i.e. the properties of the underlying blobstore. More generally I would like to ask how can one obtain the information about the "active" node store (blob store?). I was planning to use {code} ServiceReference[] references = bundleContext.getAllServiceReferences("org.apache.jackrabbit.oak.spi.state.NodeStore", null); {code} but will that lookup only return one reference? If multiple references are returned which is the "active" one? If I am to query also the BlobStores, how do I figure out which is the active one? > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14343287#comment-14343287 ] Marius Petria edited comment on OAK-2499 at 3/2/15 3:43 PM: [~chetanm] I made another patch following your suggestions. Property oak.nodestore.description on DocumentNodeService {code} type=rdb,db={dbName},version={dbVersion} type=mongo,version={mongoVersion} type=memory {code} One question, I am using Text.escape to prevent dbVersion and name to mess with separators. Are these guaranteed not to be null? was (Author: mpetria): [~chetanm] I made another patch following your suggestions. Property oak.nodestore.description on DocumentNodeService type=rdb,db={dbName},version={dbVersion} type=mongo,version={mongoVersion} One question, I am using Text.escape to prevent dbVersion and name to mess with separators. Are these guaranteed not to be null? > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marius Petria updated OAK-2499: --- Attachment: OAK-2499.2.diff [~chetanm] I made another patch following your suggestions. Property oak.nodestore.description on DocumentNodeService type=rdb,db={dbName},version={dbVersion} type=mongo,version={mongoVersion} One question, I am using Text.escape to prevent dbVersion and name to mess with separators. Are these guaranteed not to be null? > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria >Assignee: Chetan Mehrotra > Attachments: OAK-2499.1.diff, OAK-2499.2.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (OAK-2499) Expose mongo and db versions for reporting purposes
[ https://issues.apache.org/jira/browse/OAK-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marius Petria updated OAK-2499: --- Attachment: OAK-2499.1.diff I created a first patch, that adds a getDescription method to DocumentStore. The description is then registered as a property ("oak.documentstore.description") to the DocumentNodeStoreService. Should I register another property ("oak.blobstore.description") for the blobstore or I should concatenate the blobstore info to the first property? Can someone have a look at this first try and tell me if I am going on the right route? /cc [~chetanm] [~julian.resc...@gmx.de] > Expose mongo and db versions for reporting purposes > --- > > Key: OAK-2499 > URL: https://issues.apache.org/jira/browse/OAK-2499 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk, rdbmk, segmentmk >Reporter: Marius Petria > Attachments: OAK-2499.1.diff > > > For reporting purposes I need to find out from java the MK type and also > for mongo version and the info about used DB make/version? > [~chetanm] suggested that such information can be exposed "when we register a > {{NodeStore}} instances within OSGi we can also add a service property > which captures such implementation details. Possibly use > service.description or define a new one which provide a comma separated > list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (OAK-2499) Expose mongo and db versions for reporting purposes
Marius Petria created OAK-2499: -- Summary: Expose mongo and db versions for reporting purposes Key: OAK-2499 URL: https://issues.apache.org/jira/browse/OAK-2499 Project: Jackrabbit Oak Issue Type: Improvement Reporter: Marius Petria For reporting purposes I need to find out from java the MK type and also for mongo version and the info about used DB make/version? [~chetanm] suggested that such information can be exposed "when we register a {{NodeStore}} instances within OSGi we can also add a service property which captures such implementation details. Possibly use service.description or define a new one which provide a comma separated list of attributes.” -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (OAK-2244) Content can be change by users that do not own the lock
Marius Petria created OAK-2244: -- Summary: Content can be change by users that do not own the lock Key: OAK-2244 URL: https://issues.apache.org/jira/browse/OAK-2244 Project: Jackrabbit Oak Issue Type: Sub-task Components: core, jcr Affects Versions: 1.0.6 Reporter: Marius Petria I can create a lock on an item with "admin" but this does not prevent a different user from changing the content. {code} {code} {code} String path = "/content/geometrixx/de/company/jcr:content"; Session authorSession = repository.login(new SimpleCredentials("author", "author".toCharArray())); Lock l= authorSession.getWorkspace().getLockManager().getLock(path); if (l.getLockOwner().equals("admin") && authorSession.getWorkspace().getLockManager().isLocked(path)) { Node node = authorSession.getNode(path); node.setProperty("bla", "bla"); authorSession.save(); } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)