[ 
https://issues.apache.org/jira/browse/OAK-6867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Deparvu updated OAK-6867:
------------------------------
    Description: 
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




  was:
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





> 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
>
> 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