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

Alex Parvulescu commented on OAK-1137:
--------------------------------------

Actually I think you could include the properties with the ReferenceIndex - 
right now I'm stripping them  away. 
The problem is that changing this behavior will break compatibility with the 
TraversingIndex which doesn't include the properties. What we'd have now is a 
compatible behavior between the 2 cases: reference index and no index.

I'm wondering if we could settle this with a flag on the IdentifierManager, 
'resolveProperties', seems a basic solution but I see no other way of 
identifying the source of the results (ReferenceIndex vs TraversingIndex).

I'm also wondering if we're not taking this too far. Do we really need to worry 
about property lookup at this point? We went from full repository traversal to 
a bunch of properties traversal (in the case where the name of the reference 
property is not known).
So far I haven't seen any benchmarks related to this, should we set something 
up?


> Node.getReferences() is slow due to missing property index
> ----------------------------------------------------------
>
>                 Key: OAK-1137
>                 URL: https://issues.apache.org/jira/browse/OAK-1137
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, jcr
>    Affects Versions: 0.10
>            Reporter: Tobias Bocanegra
>            Assignee: Alex Parvulescu
>            Priority: Critical
>             Fix For: 0.12
>
>         Attachments: OAK-1137-v2.patch, OAK-1137-v3.patch, OAK-1137.patch
>
>
> Node.getReferences() traverses all items in the repository in order to find 
> the properties that reference the given node. this is super slow and does not 
> scale. 
> the (weak) reference properties should be auto-indexed.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to