31
31
import org .apache .lucene .store .Directory ;
32
32
import org .apache .lucene .util .Accountable ;
33
33
import org .apache .lucene .util .BytesRef ;
34
- import org .elasticsearch .core .internal .io .IOUtils ;
35
34
import org .elasticsearch .common .bytes .BytesReference ;
36
35
import org .elasticsearch .common .io .stream .BytesStreamOutput ;
37
36
import org .elasticsearch .common .lucene .index .ElasticsearchDirectoryReader ;
38
37
import org .elasticsearch .common .settings .Settings ;
39
38
import org .elasticsearch .common .unit .ByteSizeValue ;
40
39
import org .elasticsearch .common .xcontent .XContentHelper ;
41
40
import org .elasticsearch .common .xcontent .XContentType ;
41
+ import org .elasticsearch .core .internal .io .IOUtils ;
42
42
import org .elasticsearch .index .cache .request .ShardRequestCache ;
43
43
import org .elasticsearch .index .query .TermQueryBuilder ;
44
44
import org .elasticsearch .index .shard .ShardId ;
@@ -68,7 +68,7 @@ public void testBasicOperationsCache() throws Exception {
68
68
// initial cache
69
69
TestEntity entity = new TestEntity (requestCacheStats , indexShard );
70
70
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 () );
72
72
assertEquals ("foo" , value .streamInput ().readString ());
73
73
assertEquals (0 , requestCacheStats .stats ().getHitCount ());
74
74
assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -79,7 +79,7 @@ public void testBasicOperationsCache() throws Exception {
79
79
// cache hit
80
80
entity = new TestEntity (requestCacheStats , indexShard );
81
81
loader = new Loader (reader , 0 );
82
- value = cache .getOrCompute (entity , loader , reader , termBytes );
82
+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
83
83
assertEquals ("foo" , value .streamInput ().readString ());
84
84
assertEquals (1 , requestCacheStats .stats ().getHitCount ());
85
85
assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -126,7 +126,7 @@ public void testCacheDifferentReaders() throws Exception {
126
126
// initial cache
127
127
TestEntity entity = new TestEntity (requestCacheStats , indexShard );
128
128
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 () );
130
130
assertEquals ("foo" , value .streamInput ().readString ());
131
131
assertEquals (0 , requestCacheStats .stats ().getHitCount ());
132
132
assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -140,7 +140,7 @@ public void testCacheDifferentReaders() throws Exception {
140
140
// cache the second
141
141
TestEntity secondEntity = new TestEntity (requestCacheStats , indexShard );
142
142
loader = new Loader (secondReader , 0 );
143
- value = cache .getOrCompute (entity , loader , secondReader , termBytes );
143
+ value = cache .getOrCompute (entity , loader , secondReader , termBytes , () -> termQuery . toString () );
144
144
assertEquals ("bar" , value .streamInput ().readString ());
145
145
assertEquals (0 , requestCacheStats .stats ().getHitCount ());
146
146
assertEquals (2 , requestCacheStats .stats ().getMissCount ());
@@ -152,7 +152,7 @@ public void testCacheDifferentReaders() throws Exception {
152
152
153
153
secondEntity = new TestEntity (requestCacheStats , indexShard );
154
154
loader = new Loader (secondReader , 0 );
155
- value = cache .getOrCompute (secondEntity , loader , secondReader , termBytes );
155
+ value = cache .getOrCompute (secondEntity , loader , secondReader , termBytes , () -> termQuery . toString () );
156
156
assertEquals ("bar" , value .streamInput ().readString ());
157
157
assertEquals (1 , requestCacheStats .stats ().getHitCount ());
158
158
assertEquals (2 , requestCacheStats .stats ().getMissCount ());
@@ -162,7 +162,7 @@ public void testCacheDifferentReaders() throws Exception {
162
162
163
163
entity = new TestEntity (requestCacheStats , indexShard );
164
164
loader = new Loader (reader , 0 );
165
- value = cache .getOrCompute (entity , loader , reader , termBytes );
165
+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
166
166
assertEquals ("foo" , value .streamInput ().readString ());
167
167
assertEquals (2 , requestCacheStats .stats ().getHitCount ());
168
168
assertEquals (2 , requestCacheStats .stats ().getMissCount ());
@@ -222,9 +222,9 @@ public void testEviction() throws Exception {
222
222
TestEntity secondEntity = new TestEntity (requestCacheStats , indexShard );
223
223
Loader secondLoader = new Loader (secondReader , 0 );
224
224
225
- BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes );
225
+ BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
226
226
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 () );
228
228
assertEquals ("bar" , value2 .streamInput ().readString ());
229
229
size = requestCacheStats .stats ().getMemorySize ();
230
230
IOUtils .close (reader , secondReader , writer , dir , cache );
@@ -257,12 +257,12 @@ public void testEviction() throws Exception {
257
257
TestEntity thirddEntity = new TestEntity (requestCacheStats , indexShard );
258
258
Loader thirdLoader = new Loader (thirdReader , 0 );
259
259
260
- BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes );
260
+ BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
261
261
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 () );
263
263
assertEquals ("bar" , value2 .streamInput ().readString ());
264
264
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 () );
266
266
assertEquals ("baz" , value3 .streamInput ().readString ());
267
267
assertEquals (2 , cache .count ());
268
268
assertEquals (1 , requestCacheStats .stats ().getEvictions ());
@@ -298,12 +298,12 @@ public void testClearAllEntityIdentity() throws Exception {
298
298
TestEntity thirddEntity = new TestEntity (requestCacheStats , differentIdentity );
299
299
Loader thirdLoader = new Loader (thirdReader , 0 );
300
300
301
- BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes );
301
+ BytesReference value1 = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
302
302
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 () );
304
304
assertEquals ("bar" , value2 .streamInput ().readString ());
305
305
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 () );
307
307
assertEquals ("baz" , value3 .streamInput ().readString ());
308
308
assertEquals (3 , cache .count ());
309
309
final long hitCount = requestCacheStats .stats ().getHitCount ();
@@ -312,7 +312,7 @@ public void testClearAllEntityIdentity() throws Exception {
312
312
cache .cleanCache ();
313
313
assertEquals (1 , cache .count ());
314
314
// 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 () );
316
316
assertEquals (hitCount + 1 , requestCacheStats .stats ().getHitCount ());
317
317
assertEquals ("baz" , value3 .streamInput ().readString ());
318
318
@@ -371,7 +371,7 @@ public void testInvalidate() throws Exception {
371
371
// initial cache
372
372
TestEntity entity = new TestEntity (requestCacheStats , indexShard );
373
373
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 () );
375
375
assertEquals ("foo" , value .streamInput ().readString ());
376
376
assertEquals (0 , requestCacheStats .stats ().getHitCount ());
377
377
assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -382,7 +382,7 @@ public void testInvalidate() throws Exception {
382
382
// cache hit
383
383
entity = new TestEntity (requestCacheStats , indexShard );
384
384
loader = new Loader (reader , 0 );
385
- value = cache .getOrCompute (entity , loader , reader , termBytes );
385
+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
386
386
assertEquals ("foo" , value .streamInput ().readString ());
387
387
assertEquals (1 , requestCacheStats .stats ().getHitCount ());
388
388
assertEquals (1 , requestCacheStats .stats ().getMissCount ());
@@ -396,7 +396,7 @@ public void testInvalidate() throws Exception {
396
396
entity = new TestEntity (requestCacheStats , indexShard );
397
397
loader = new Loader (reader , 0 );
398
398
cache .invalidate (entity , reader , termBytes );
399
- value = cache .getOrCompute (entity , loader , reader , termBytes );
399
+ value = cache .getOrCompute (entity , loader , reader , termBytes , () -> termQuery . toString () );
400
400
assertEquals ("foo" , value .streamInput ().readString ());
401
401
assertEquals (1 , requestCacheStats .stats ().getHitCount ());
402
402
assertEquals (2 , requestCacheStats .stats ().getMissCount ());
0 commit comments