3131import org .apache .lucene .store .Directory ;
3232import org .apache .lucene .util .Accountable ;
3333import org .apache .lucene .util .BytesRef ;
34- import org .elasticsearch .core .internal .io .IOUtils ;
3534import org .elasticsearch .common .bytes .BytesReference ;
3635import org .elasticsearch .common .io .stream .BytesStreamOutput ;
3736import org .elasticsearch .common .lucene .index .ElasticsearchDirectoryReader ;
3837import org .elasticsearch .common .settings .Settings ;
3938import org .elasticsearch .common .unit .ByteSizeValue ;
4039import org .elasticsearch .common .xcontent .XContentHelper ;
4140import org .elasticsearch .common .xcontent .XContentType ;
41+ import org .elasticsearch .core .internal .io .IOUtils ;
4242import org .elasticsearch .index .cache .request .ShardRequestCache ;
4343import org .elasticsearch .index .query .TermQueryBuilder ;
4444import org .elasticsearch .index .shard .ShardId ;
@@ -68,7 +68,7 @@ public void testBasicOperationsCache() throws Exception {
6868 // initial cache
6969 TestEntity entity = new TestEntity (requestCacheStats , indexShard );
7070 Loader loader = new Loader (reader , 0 );
71- BytesReference value = cache .getOrCompute (entity , loader , reader , termBytes );
71+ BytesReference value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
7272 assertEquals ("foo" , value .streamInput ().readString ());
7373 assertEquals (0 , requestCacheStats .stats ().getHitCount ());
7474 assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -79,7 +79,7 @@ public void testBasicOperationsCache() throws Exception {
7979 // cache hit
8080 entity = new TestEntity (requestCacheStats , indexShard );
8181 loader = new Loader (reader , 0 );
82- value = cache .getOrCompute (entity , loader , reader , termBytes );
82+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
8383 assertEquals ("foo" , value .streamInput ().readString ());
8484 assertEquals (1 , requestCacheStats .stats ().getHitCount ());
8585 assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -126,7 +126,7 @@ public void testCacheDifferentReaders() throws Exception {
126126 // initial cache
127127 TestEntity entity = new TestEntity (requestCacheStats , indexShard );
128128 Loader loader = new Loader (reader , 0 );
129- BytesReference value = cache .getOrCompute (entity , loader , reader , termBytes );
129+ BytesReference value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
130130 assertEquals ("foo" , value .streamInput ().readString ());
131131 assertEquals (0 , requestCacheStats .stats ().getHitCount ());
132132 assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -140,7 +140,7 @@ public void testCacheDifferentReaders() throws Exception {
140140 // cache the second
141141 TestEntity secondEntity = new TestEntity (requestCacheStats , indexShard );
142142 loader = new Loader (secondReader , 0 );
143- value = cache .getOrCompute (entity , loader , secondReader , termBytes );
143+ value = cache .getOrCompute (entity , loader , secondReader , termBytes , () -> termQuery . toString () );
144144 assertEquals ("bar" , value .streamInput ().readString ());
145145 assertEquals (0 , requestCacheStats .stats ().getHitCount ());
146146 assertEquals (2 , requestCacheStats .stats ().getMissCount ());
@@ -152,7 +152,7 @@ public void testCacheDifferentReaders() throws Exception {
152152
153153 secondEntity = new TestEntity (requestCacheStats , indexShard );
154154 loader = new Loader (secondReader , 0 );
155- value = cache .getOrCompute (secondEntity , loader , secondReader , termBytes );
155+ value = cache .getOrCompute (secondEntity , loader , secondReader , termBytes , () -> termQuery . toString () );
156156 assertEquals ("bar" , value .streamInput ().readString ());
157157 assertEquals (1 , requestCacheStats .stats ().getHitCount ());
158158 assertEquals (2 , requestCacheStats .stats ().getMissCount ());
@@ -162,7 +162,7 @@ public void testCacheDifferentReaders() throws Exception {
162162
163163 entity = new TestEntity (requestCacheStats , indexShard );
164164 loader = new Loader (reader , 0 );
165- value = cache .getOrCompute (entity , loader , reader , termBytes );
165+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
166166 assertEquals ("foo" , value .streamInput ().readString ());
167167 assertEquals (2 , requestCacheStats .stats ().getHitCount ());
168168 assertEquals (2 , requestCacheStats .stats ().getMissCount ());
@@ -222,9 +222,9 @@ public void testEviction() throws Exception {
222222 TestEntity secondEntity = new TestEntity (requestCacheStats , indexShard );
223223 Loader secondLoader = new Loader (secondReader , 0 );
224224
225- BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes );
225+ BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
226226 assertEquals ("foo" , value1 .streamInput ().readString ());
227- BytesReference value2 = cache .getOrCompute (secondEntity , secondLoader , secondReader , termBytes );
227+ BytesReference value2 = cache .getOrCompute (secondEntity , secondLoader , secondReader , termBytes , () -> termQuery . toString () );
228228 assertEquals ("bar" , value2 .streamInput ().readString ());
229229 size = requestCacheStats .stats ().getMemorySize ();
230230 IOUtils .close (reader , secondReader , writer , dir , cache );
@@ -257,12 +257,12 @@ public void testEviction() throws Exception {
257257 TestEntity thirddEntity = new TestEntity (requestCacheStats , indexShard );
258258 Loader thirdLoader = new Loader (thirdReader , 0 );
259259
260- BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes );
260+ BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
261261 assertEquals ("foo" , value1 .streamInput ().readString ());
262- BytesReference value2 = cache .getOrCompute (secondEntity , secondLoader , secondReader , termBytes );
262+ BytesReference value2 = cache .getOrCompute (secondEntity , secondLoader , secondReader , termBytes , () -> termQuery . toString () );
263263 assertEquals ("bar" , value2 .streamInput ().readString ());
264264 logger .info ("Memory size: {}" , requestCacheStats .stats ().getMemorySize ());
265- BytesReference value3 = cache .getOrCompute (thirddEntity , thirdLoader , thirdReader , termBytes );
265+ BytesReference value3 = cache .getOrCompute (thirddEntity , thirdLoader , thirdReader , termBytes , () -> termQuery . toString () );
266266 assertEquals ("baz" , value3 .streamInput ().readString ());
267267 assertEquals (2 , cache .count ());
268268 assertEquals (1 , requestCacheStats .stats ().getEvictions ());
@@ -298,12 +298,12 @@ public void testClearAllEntityIdentity() throws Exception {
298298 TestEntity thirddEntity = new TestEntity (requestCacheStats , differentIdentity );
299299 Loader thirdLoader = new Loader (thirdReader , 0 );
300300
301- BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes );
301+ BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
302302 assertEquals ("foo" , value1 .streamInput ().readString ());
303- BytesReference value2 = cache .getOrCompute (secondEntity , secondLoader , secondReader , termBytes );
303+ BytesReference value2 = cache .getOrCompute (secondEntity , secondLoader , secondReader , termBytes , () -> termQuery . toString () );
304304 assertEquals ("bar" , value2 .streamInput ().readString ());
305305 logger .info ("Memory size: {}" , requestCacheStats .stats ().getMemorySize ());
306- BytesReference value3 = cache .getOrCompute (thirddEntity , thirdLoader , thirdReader , termBytes );
306+ BytesReference value3 = cache .getOrCompute (thirddEntity , thirdLoader , thirdReader , termBytes , () -> termQuery . toString () );
307307 assertEquals ("baz" , value3 .streamInput ().readString ());
308308 assertEquals (3 , cache .count ());
309309 final long hitCount = requestCacheStats .stats ().getHitCount ();
@@ -312,7 +312,7 @@ public void testClearAllEntityIdentity() throws Exception {
312312 cache .cleanCache ();
313313 assertEquals (1 , cache .count ());
314314 // third has not been validated since it's a different identity
315- value3 = cache .getOrCompute (thirddEntity , thirdLoader , thirdReader , termBytes );
315+ value3 = cache .getOrCompute (thirddEntity , thirdLoader , thirdReader , termBytes , () -> termQuery . toString () );
316316 assertEquals (hitCount + 1 , requestCacheStats .stats ().getHitCount ());
317317 assertEquals ("baz" , value3 .streamInput ().readString ());
318318
@@ -371,7 +371,7 @@ public void testInvalidate() throws Exception {
371371 // initial cache
372372 TestEntity entity = new TestEntity (requestCacheStats , indexShard );
373373 Loader loader = new Loader (reader , 0 );
374- BytesReference value = cache .getOrCompute (entity , loader , reader , termBytes );
374+ BytesReference value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
375375 assertEquals ("foo" , value .streamInput ().readString ());
376376 assertEquals (0 , requestCacheStats .stats ().getHitCount ());
377377 assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -382,7 +382,7 @@ public void testInvalidate() throws Exception {
382382 // cache hit
383383 entity = new TestEntity (requestCacheStats , indexShard );
384384 loader = new Loader (reader , 0 );
385- value = cache .getOrCompute (entity , loader , reader , termBytes );
385+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
386386 assertEquals ("foo" , value .streamInput ().readString ());
387387 assertEquals (1 , requestCacheStats .stats ().getHitCount ());
388388 assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -396,7 +396,7 @@ public void testInvalidate() throws Exception {
396396 entity = new TestEntity (requestCacheStats , indexShard );
397397 loader = new Loader (reader , 0 );
398398 cache .invalidate (entity , reader , termBytes );
399- value = cache .getOrCompute (entity , loader , reader , termBytes );
399+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
400400 assertEquals ("foo" , value .streamInput ().readString ());
401401 assertEquals (1 , requestCacheStats .stats ().getHitCount ());
402402 assertEquals (2 , requestCacheStats .stats ().getMissCount ());
0 commit comments