Repository: cassandra Updated Branches: refs/heads/trunk 53c0ef171 -> 73e70340a
Nodetool import row cache invalidation races with adding sstables to tracker patch by Jordan West; reviewed by jasobrown for CASSANDRA-14529 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73e70340 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73e70340 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73e70340 Branch: refs/heads/trunk Commit: 73e70340a173b8ff56665cddb70756e83f7d37b0 Parents: 53c0ef1 Author: Jordan West <jorda...@gmail.com> Authored: Mon Jun 18 13:54:44 2018 -0700 Committer: Jason Brown <jasedbr...@gmail.com> Committed: Wed Jun 20 06:10:43 2018 -0700 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/SSTableImporter.java | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73e70340/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index fd236a2..9ead7e6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Nodetool import row cache invalidation races with adding sstables to tracker (CASSANDRA-14529) * Fix assertions in LWTs after TableMetadata was made immutable (CASSANDRA-14356) * Abort compactions quicker (CASSANDRA-14397) * Support light-weight transactions in cassandra-stress (CASSANDRA-13529) http://git-wip-us.apache.org/repos/asf/cassandra/blob/73e70340/src/java/org/apache/cassandra/db/SSTableImporter.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/SSTableImporter.java b/src/java/org/apache/cassandra/db/SSTableImporter.java index e9f6fe6..c919d25 100644 --- a/src/java/org/apache/cassandra/db/SSTableImporter.java +++ b/src/java/org/apache/cassandra/db/SSTableImporter.java @@ -134,8 +134,7 @@ public class SSTableImporter Descriptor oldDescriptor = entry.getKey(); if (currentDescriptors.contains(oldDescriptor)) continue; - if (options.invalidateCaches && cfs.isRowCacheEnabled()) - invalidateCachesForSSTable(oldDescriptor); + File targetDir = getTargetDirectory(dir, oldDescriptor, entry.getValue()); Descriptor newDescriptor = cfs.getUniqueDescriptorFor(entry.getKey(), targetDir); maybeMutateMetadata(entry.getKey(), options); @@ -176,6 +175,12 @@ public class SSTableImporter try (Refs<SSTableReader> refs = Refs.ref(newSSTables)) { cfs.getTracker().addSSTables(newSSTables); + for (SSTableReader reader : newSSTables) + { + if (options.invalidateCaches && cfs.isRowCacheEnabled()) + invalidateCachesForSSTable(reader.descriptor); + } + } logger.info("Done loading load new SSTables for {}/{}", cfs.keyspace.getName(), cfs.getTableName()); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org