From ded62076e7fdfd1cfdcf96447489ea607ca796a0 Mon Sep 17 00:00:00 2001 From: nvharikrishna Date: Fri, 1 Mar 2019 17:24:19 +0530 Subject: [PATCH] Take sstable references before calculating approximate key count Patch by Venkata Harikrishna Nukala; reviewed by marcuse for CASSANDRA-14647 --- CHANGES.txt | 1 + .../io/sstable/format/SSTableReader.java | 2 +- .../cassandra/metrics/TableMetrics.java | 7 +++++- .../io/sstable/SSTableReaderTest.java | 23 +++++++++++++++++-- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 54ffe5b201..e4849d3b30 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Take sstable references before calculating approximate key count (CASSANDRA-14647) * Restore snapshotting of system keyspaces on version change (CASSANDRA-14412) * Fix AbstractBTreePartition locking in java 11 (CASSANDRA-14607) * SimpleClient should pass connection properties as options (CASSANDRA-15056) diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java index 01e30d6ee5..ca6eb8540a 100644 --- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java +++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java @@ -26,7 +26,6 @@ import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; -import java.util.stream.Collectors; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Iterables; @@ -293,6 +292,7 @@ public abstract class SSTableReader extends SSTable implements SelfRefCounted sstables = new ArrayList<>(viewFragment1.sstables); + assertEquals(50, SSTableReader.getApproximateKeyCount(sstables)); + } + } }