You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Kevin Wellenzohn (JIRA)" <ji...@apache.org> on 2016/06/24 10:32:16 UTC

[jira] [Commented] (OAK-4507) [oak-mongo.js] oak.indexStats() does not compute counts properly

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

Kevin Wellenzohn commented on OAK-4507:
---------------------------------------

I attached a small patch that would solve the problem, it simply adds a "/" whenever necessary. However, it would be nicer to push the logic into the pathFilter function directly, so that this logic doesn't have to be placed in every calling method. The only problem is that pathFilter takes also a depth parameter that would have to be changed too, e.g.
- pathFilter(2, "/oak:index/slingResource") should produce the RegExp /^3:\/oak:index\/slingResource\//
- but should pathFilter(50, "/oak:index/slingResource") produce the RegExp /^51:\/oak:index\/slingResource\// ?

> [oak-mongo.js] oak.indexStats() does not compute counts properly
> ----------------------------------------------------------------
>
>                 Key: OAK-4507
>                 URL: https://issues.apache.org/jira/browse/OAK-4507
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Kevin Wellenzohn
>            Priority: Trivial
>         Attachments: OAK-4507.patch
>
>
> Some methods in oak-mongo.js that use the pathFilter function consider paths that they shouldn't consider. For example, in a AEM installation oak.countChildren("/oak:index/slingResource") counts the children of the following paths:
> - /oak:index/slingResource
> - /oak:index/slingResourceSuperType
> - /oak:index/slingResourceType
> - /oak:index/slingResources
> The reason is that pathFilter function builds a RegExp that is not terminated by a path separator and hence matches more paths than it should.
> Issues occur in the following functions:
> - oak.indexStats()
> - oak.countChildren()
> - oak.forEachChild()
> - oak.getChildStats()



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