|
51 | 51 | import java.util.concurrent.ExecutionException; |
52 | 52 | import java.util.concurrent.ExecutorService; |
53 | 53 | import java.util.concurrent.TimeUnit; |
54 | | -import java.util.concurrent.atomic.AtomicBoolean; |
55 | 54 | import java.util.concurrent.atomic.AtomicLong; |
56 | 55 | import java.util.concurrent.atomic.LongAdder; |
57 | 56 | import java.util.concurrent.locks.ReentrantReadWriteLock; |
@@ -250,9 +249,9 @@ public BitSet getBitSet(final Query query, final LeafReaderContext context) thro |
250 | 249 | final BitsetCacheKey cacheKey = new BitsetCacheKey(indexKey, query); |
251 | 250 |
|
252 | 251 | try (ReleasableLock ignored = cacheModificationLock.acquire()) { |
253 | | - final AtomicBoolean cacheKeyWasPresent = new AtomicBoolean(true); |
| 252 | + final boolean[] cacheKeyWasPresent = new boolean[] { true }; |
254 | 253 | final BitSet bitSet = bitsetCache.computeIfAbsent(cacheKey, ignore1 -> { |
255 | | - cacheKeyWasPresent.set(false); |
| 254 | + cacheKeyWasPresent[0] = false; |
256 | 255 | // This ensures all insertions into the set are guarded by ConcurrentHashMap's atomicity guarantees. |
257 | 256 | keysByIndex.compute(indexKey, (ignore2, set) -> { |
258 | 257 | if (set == null) { |
@@ -281,7 +280,7 @@ public BitSet getBitSet(final Query query, final LeafReaderContext context) thro |
281 | 280 | } |
282 | 281 | return result; |
283 | 282 | }); |
284 | | - if (cacheKeyWasPresent.get()) { |
| 283 | + if (cacheKeyWasPresent[0]) { |
285 | 284 | hitsTimeInNanos.add(relativeNanoTimeProvider.getAsLong() - cacheStart); |
286 | 285 | } else { |
287 | 286 | missesTimeInNanos.add(relativeNanoTimeProvider.getAsLong() - cacheStart); |
|
0 commit comments