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

Alex Deparvu commented on OAK-6867:
-----------------------------------

bq. does "lookup by getNode" run a query? It sounds not
it seems there's a query happening there as well (same uuid lookup query), via 
the SessionDelegate [0], calling into the IdentifierManager [1].


[0] 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java#L456
[1] 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java#L352

> Enable index hints on UUID lookup query
> ---------------------------------------
>
>                 Key: OAK-6867
>                 URL: https://issues.apache.org/jira/browse/OAK-6867
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: query
>            Reporter: Alex Deparvu
>            Assignee: Thomas Mueller
>
> For the UUID lookup query I enabled the (recently added) query hints support 
> where you can specify the index you want to be used and I got an interesting 
> speedup in the benchmarks:
> {noformat}
> Hint disabled, lookup by query
> # UUIDLookupTest                   C     min     10%     50%     90%     max  
>      N 
> No of indexes (60) 60, Lookup by (lookupByQuery)[query] 
> Oak-Segment-Tar                    1       5       5       6       7      27  
>   9837
> Hint enabled, lookup by query
> # UUIDLookupTest                   C     min     10%     50%     90%     max  
>      N 
> No of indexes (60) 60, Lookup by (lookupByQuery)[query] 
> Oak-Segment-Tar                    1       5       5       6       7      13  
>  10128
> Hint enabled, lookup by getNode
> # UUIDLookupTest                   C     min     10%     50%     90%     max  
>      N 
> No of indexes (60) 60, Lookup by (lookupByQuery)[Session#getNodeByIdentifier] 
> Oak-Segment-Tar                    1       5       6       6       7      13  
>   9447
> Hint disabled, lookup by getNode
> # UUIDLookupTest                   C     min     10%     50%     90%     max  
>      N 
> No of indexes (60) 60, Lookup by (lookupByQuery)[Session#getNodeByIdentifier] 
> Oak-Segment-Tar                    1       3       3       3       4       8  
>  17504
> {noformat}
> It seems the cost shortcut is reducing the overall time, but cannot say for 
> sure where this change comes from.
> The only change I did was to add {{option(index name uuid)}} to this query [0]
> [~tmueller], [~chetanm] what do you think?
> [0] 
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java#L356



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to