From 00db6563406a6225fc06ceab88309336afde30b7 Mon Sep 17 00:00:00 2001 From: Matt Jarvie Date: Mon, 5 Aug 2019 11:39:02 -0700 Subject: [PATCH] KAFKA-8736: Streams performance improvement, use isEmpty() rather than size() == 0 --- .../org/apache/kafka/streams/state/internals/NamedCache.java | 4 ++++ .../org/apache/kafka/streams/state/internals/ThreadCache.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/streams/src/main/java/org/apache/kafka/streams/state/internals/NamedCache.java b/streams/src/main/java/org/apache/kafka/streams/state/internals/NamedCache.java index 0201f20f9fbf4..ec53dfa5d46cd 100644 --- a/streams/src/main/java/org/apache/kafka/streams/state/internals/NamedCache.java +++ b/streams/src/main/java/org/apache/kafka/streams/state/internals/NamedCache.java @@ -266,6 +266,10 @@ public long size() { return cache.size(); } + public boolean isEmpty() { + return cache.isEmpty(); + } + synchronized Iterator> subMapIterator(final Bytes from, final Bytes to) { return cache.subMap(from, true, to, true).entrySet().iterator(); } diff --git a/streams/src/main/java/org/apache/kafka/streams/state/internals/ThreadCache.java b/streams/src/main/java/org/apache/kafka/streams/state/internals/ThreadCache.java index 0db6c78a5772e..116b1ef8b7d1a 100644 --- a/streams/src/main/java/org/apache/kafka/streams/state/internals/ThreadCache.java +++ b/streams/src/main/java/org/apache/kafka/streams/state/internals/ThreadCache.java @@ -193,7 +193,7 @@ public MemoryLRUCacheBytesIterator all(final String namespace) { } return new MemoryLRUCacheBytesIterator(cache.allIterator()); } - + public long size() { long size = 0; for (final NamedCache cache : caches.values()) { @@ -235,7 +235,7 @@ private void maybeEvict(final String namespace) { // a put on another cache. So even though the sizeInBytes() is // still > maxCacheSizeBytes there is nothing to evict from this // namespaced cache. - if (cache.size() == 0) { + if (cache.isEmpty()) { return; } cache.evict();