You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Adrien Grand <jp...@gmail.com> on 2018/02/19 10:44:53 UTC

Re: lucene-solr:master: Avoid thread contention in LRUQueryCache test

Thanks Alan!

Le lun. 19 févr. 2018 à 10:50, <ro...@apache.org> a écrit :

> Repository: lucene-solr
> Updated Branches:
>   refs/heads/master 34d3282ed -> a2fdbc935
>
>
> Avoid thread contention in LRUQueryCache test
>
>
> Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
> Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a2fdbc93
> Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a2fdbc93
> Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a2fdbc93
>
> Branch: refs/heads/master
> Commit: a2fdbc93534263299f055a9e344c49bf29aebdf5
> Parents: 34d3282
> Author: Alan Woodward <ro...@apache.org>
> Authored: Mon Feb 19 09:48:32 2018 +0000
> Committer: Alan Woodward <ro...@apache.org>
> Committed: Mon Feb 19 09:50:12 2018 +0000
>
> ----------------------------------------------------------------------
>  .../src/test/org/apache/lucene/search/TestLRUQueryCache.java   | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a2fdbc93/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
> ----------------------------------------------------------------------
> diff --git
> a/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
> b/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
> index f6b1c73..eac8b4e 100644
> --- a/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
> +++ b/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
> @@ -1475,7 +1475,11 @@ public class TestLRUQueryCache extends
> LuceneTestCase {
>      w.addDocument(new Document());
>      w.commit();
>      DirectoryReader reader = DirectoryReader.open(w);
> -    IndexSearcher searcher = newSearcher(reader);
> +
> +    // Don't use newSearcher(), because that will sometimes use an
> ExecutorService, and
> +    // we need to be single threaded to ensure that LRUQueryCache doesn't
> skip the cache
> +    // due to thread contention
> +    IndexSearcher searcher = new AssertingIndexSearcher(random(), reader);
>      searcher.setQueryCachingPolicy(QueryCachingPolicy.ALWAYS_CACHE);
>
>      LRUQueryCache cache = new LRUQueryCache(1, 10000, context -> true,
> Float.POSITIVE_INFINITY);
>
>