[jira] [Commented] (OAK-3003) Improve login performance with huge group membership

2015-07-28 Thread Marius Petria (JIRA)

[ 
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

2015-03-09 Thread Marius Petria (JIRA)

 [ 
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

2015-03-04 Thread Marius Petria (JIRA)

[ 
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

2015-03-03 Thread Marius Petria (JIRA)

[ 
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

2015-03-03 Thread Marius Petria (JIRA)

[ 
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

2015-03-03 Thread Marius Petria (JIRA)

[ 
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

2015-03-03 Thread Marius Petria (JIRA)

[ 
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

2015-03-03 Thread Marius Petria (JIRA)

[ 
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

2015-03-02 Thread Marius Petria (JIRA)

[ 
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

2015-03-02 Thread Marius Petria (JIRA)

 [ 
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

2015-02-25 Thread Marius Petria (JIRA)

 [ 
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

2015-02-10 Thread Marius Petria (JIRA)
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

2014-10-29 Thread Marius Petria (JIRA)
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)