[
https://issues.apache.org/jira/browse/LUCENE-8005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16215812#comment-16215812
]
Uwe Schindler commented on LUCENE-8005:
---------------------------------------
Because of that I'd add a package private marker interface. Much cleaner and
invisible from public API (a pkg private super all is invisible, too). The
other idea would have been an annotation, but those are not inherited.
> Avoid Class.getSimpleName in UsageTrackingQueryCachingPolicy
> ------------------------------------------------------------
>
> Key: LUCENE-8005
> URL: https://issues.apache.org/jira/browse/LUCENE-8005
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Scott Somerville
> Attachments: LUCENE-8005.patch, LUCENE-8005.patch
>
>
> By profiling an Elasticsearch cluster, I found the private method
> UsageTrackingQueryCachingPolicy.isPointQuery to be quite expensive due to the
> clazz.getSimpleName() call.
> Here is an excerpt from hot_threads:
> {noformat}
> java.lang.Class.getEnclosingMethod0(Native Method)
> java.lang.Class.getEnclosingMethodInfo(Class.java:1072)
> java.lang.Class.getEnclosingClass(Class.java:1272)
> java.lang.Class.getSimpleBinaryName(Class.java:1443)
> java.lang.Class.getSimpleName(Class.java:1309)
>
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.isPointQuery(UsageTrackingQueryCachingPolicy.java:39)
>
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.isCostly(UsageTrackingQueryCachingPolicy.java:54)
>
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.minFrequencyToCache(UsageTrackingQueryCachingPolicy.java:121)
>
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.shouldCache(UsageTrackingQueryCachingPolicy.java:179)
>
> org.elasticsearch.index.shard.ElasticsearchQueryCachingPolicy.shouldCache(ElasticsearchQueryCachingPolicy.java:53)
>
> org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.bulkScorer(LRUQueryCache.java:806)
>
> org.elasticsearch.indices.IndicesQueryCache$CachingWeightWrapper.bulkScorer(IndicesQueryCache.java:168)
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:665)
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:472)
> org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:388)
> org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:108)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]