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

Chetan Mehrotra commented on OAK-3011:
--------------------------------------

bq. But 'others' in OSGi terms is also oak-lucene. I'm quite confused here.

Happens ;). 
[ProviderType|http://mavenbrowse.pauldoo.com/central/biz/aQute/bnd/bndlib/2.3.0/bndlib-2.3.0-javadoc.jar/-/aQute/bnd/annotation/ProviderType.html]
 docs provide some details. The way it works is you have some interface which 
are meant to be provided by application like say {{ExecutorService}} and there 
are some which are meant to be provided by users of application like 
{{Runnable}}. Former interface is not implemented by many while later is 
implemented by many (agreed many is vague here). 

Now when you mark interface like this bnd would generate package import version 
accordingly. So if your code only makes use of the _provided_ service then 
adding a method would allow your code to still work and bnd would use a broader 
range in imports [2.0,3.0). On the other had if bnd detects that your code 
implements the exported interface then it would set a smaller import range 
[2.0,2.1) as adding a method there would cause your impl to break. So in above 
case if oak-lucene had implemented {{IndexPlan}} then its import version range 
would be [2.0,2.1) and adding a new method would cause the bundle to not 
resolve and you would have to re build your bundle against new api.

Hope that helps!

> Add name of lucene-property index to cost debug log
> ---------------------------------------------------
>
>                 Key: OAK-3011
>                 URL: https://issues.apache.org/jira/browse/OAK-3011
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: lucene, query
>            Reporter: Alex Parvulescu
>             Fix For: 1.2.3, 1.3.2
>
>         Attachments: OAK-3011-v2.patch, OAK-3011.patch
>
>
> Currently the cost debug log only contains the type and the cost, but if 
> there are multiple lucene-property indexes, there's no way of knowing which 
> index has what cost so it would be really nice to have the index name 
> included with the cost output.
> Now:
> {code}
> org.apache.jackrabbit.oak.query.QueryImpl cost for lucene-property is 1.5
> {code}
> Nice to have:
> {code}
> org.apache.jackrabbit.oak.query.QueryImpl cost for lucene-property [name] is 
> 1.5
> {code}



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

Reply via email to