From d84c6e98106e7b0c205f019ee24d416d0bb65f37 Mon Sep 17 00:00:00 2001 From: jacek-lewandowski Date: Wed, 21 Apr 2021 13:59:57 +0200 Subject: [PATCH] Prevent loss of commit log data when moving sstables between nodes patch by Jakub Zytka and Jacek Lewandowski; reviewed by Branimir Lambov and Benjamin Lerer for CASSANDRA-16619 Add originating host ID to sstable metadata - md, me sstables - add missing test cases in MetadataSerializerTest Co-authored-by: Jakub Zytka Co-authored-by: Jacek Lewandowski --- CHANGES.txt | 1 + .../apache/cassandra/db/SystemKeyspace.java | 22 ++++++-- .../cassandra/db/commitlog/CommitLog.java | 9 +++- .../db/commitlog/CommitLogReplayer.java | 31 ++++++++--- .../cassandra/io/sstable/format/Version.java | 2 + .../io/sstable/format/big/BigFormat.java | 10 +++- .../metadata/LegacyMetadataSerializer.java | 20 ++++++- .../sstable/metadata/MetadataCollector.java | 32 +++++++---- .../io/sstable/metadata/StatsMetadata.java | 41 ++++++++++++-- .../cassandra/service/StorageService.java | 2 +- .../org/apache/cassandra/utils/CounterId.java | 2 +- .../md-1-big-CompressionInfo.db | Bin 0 -> 83 bytes .../legacy_md_clust/md-1-big-Data.db | Bin 0 -> 5220 bytes .../legacy_md_clust/md-1-big-Digest.crc32 | 1 + .../legacy_md_clust/md-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_md_clust/md-1-big-Index.db | Bin 0 -> 157553 bytes .../legacy_md_clust/md-1-big-Statistics.db | Bin 0 -> 7134 bytes .../legacy_md_clust/md-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_md_clust/md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 83 bytes .../legacy_md_clust_compact/md-1-big-Data.db | Bin 0 -> 5262 bytes .../md-1-big-Digest.crc32 | 1 + .../md-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_md_clust_compact/md-1-big-Index.db | Bin 0 -> 157553 bytes .../md-1-big-Statistics.db | Bin 0 -> 7134 bytes .../md-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_md_clust_compact/md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 75 bytes .../legacy_md_clust_counter/md-1-big-Data.db | Bin 0 -> 4526 bytes .../md-1-big-Digest.crc32 | 1 + .../md-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_md_clust_counter/md-1-big-Index.db | Bin 0 -> 157553 bytes .../md-1-big-Statistics.db | Bin 0 -> 7143 bytes .../md-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_md_clust_counter/md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 75 bytes .../md-1-big-Data.db | Bin 0 -> 4533 bytes .../md-1-big-Digest.crc32 | 1 + .../md-1-big-Filter.db | Bin 0 -> 24 bytes .../md-1-big-Index.db | Bin 0 -> 157553 bytes .../md-1-big-Statistics.db | Bin 0 -> 7143 bytes .../md-1-big-Summary.db | Bin 0 -> 47 bytes .../md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../legacy_md_simple/md-1-big-Data.db | Bin 0 -> 89 bytes .../legacy_md_simple/md-1-big-Digest.crc32 | 1 + .../legacy_md_simple/md-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_md_simple/md-1-big-Index.db | Bin 0 -> 26 bytes .../legacy_md_simple/md-1-big-Statistics.db | Bin 0 -> 4687 bytes .../legacy_md_simple/md-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_md_simple/md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../legacy_md_simple_compact/md-1-big-Data.db | Bin 0 -> 91 bytes .../md-1-big-Digest.crc32 | 1 + .../md-1-big-Filter.db | Bin 0 -> 24 bytes .../md-1-big-Index.db | Bin 0 -> 26 bytes .../md-1-big-Statistics.db | Bin 0 -> 4728 bytes .../md-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_md_simple_compact/md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../legacy_md_simple_counter/md-1-big-Data.db | Bin 0 -> 110 bytes .../md-1-big-Digest.crc32 | 1 + .../md-1-big-Filter.db | Bin 0 -> 24 bytes .../md-1-big-Index.db | Bin 0 -> 27 bytes .../md-1-big-Statistics.db | Bin 0 -> 4696 bytes .../md-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_md_simple_counter/md-1-big-TOC.txt | 8 +++ .../md-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../md-1-big-Data.db | Bin 0 -> 112 bytes .../md-1-big-Digest.crc32 | 1 + .../md-1-big-Filter.db | Bin 0 -> 24 bytes .../md-1-big-Index.db | Bin 0 -> 27 bytes .../md-1-big-Statistics.db | Bin 0 -> 4737 bytes .../md-1-big-Summary.db | Bin 0 -> 47 bytes .../md-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 83 bytes .../legacy_me_clust/me-1-big-Data.db | Bin 0 -> 5239 bytes .../legacy_me_clust/me-1-big-Digest.crc32 | 1 + .../legacy_me_clust/me-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_me_clust/me-1-big-Index.db | Bin 0 -> 157553 bytes .../legacy_me_clust/me-1-big-Statistics.db | Bin 0 -> 7151 bytes .../legacy_me_clust/me-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_me_clust/me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 83 bytes .../legacy_me_clust_compact/me-1-big-Data.db | Bin 0 -> 5258 bytes .../me-1-big-Digest.crc32 | 1 + .../me-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_me_clust_compact/me-1-big-Index.db | Bin 0 -> 157553 bytes .../me-1-big-Statistics.db | Bin 0 -> 7151 bytes .../me-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_me_clust_compact/me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 75 bytes .../legacy_me_clust_counter/me-1-big-Data.db | Bin 0 -> 4529 bytes .../me-1-big-Digest.crc32 | 1 + .../me-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_me_clust_counter/me-1-big-Index.db | Bin 0 -> 157553 bytes .../me-1-big-Statistics.db | Bin 0 -> 7160 bytes .../me-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_me_clust_counter/me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 75 bytes .../me-1-big-Data.db | Bin 0 -> 4532 bytes .../me-1-big-Digest.crc32 | 1 + .../me-1-big-Filter.db | Bin 0 -> 24 bytes .../me-1-big-Index.db | Bin 0 -> 157553 bytes .../me-1-big-Statistics.db | Bin 0 -> 7160 bytes .../me-1-big-Summary.db | Bin 0 -> 47 bytes .../me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../legacy_me_simple/me-1-big-Data.db | Bin 0 -> 88 bytes .../legacy_me_simple/me-1-big-Digest.crc32 | 1 + .../legacy_me_simple/me-1-big-Filter.db | Bin 0 -> 24 bytes .../legacy_me_simple/me-1-big-Index.db | Bin 0 -> 26 bytes .../legacy_me_simple/me-1-big-Statistics.db | Bin 0 -> 4704 bytes .../legacy_me_simple/me-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_me_simple/me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../legacy_me_simple_compact/me-1-big-Data.db | Bin 0 -> 90 bytes .../me-1-big-Digest.crc32 | 1 + .../me-1-big-Filter.db | Bin 0 -> 24 bytes .../me-1-big-Index.db | Bin 0 -> 26 bytes .../me-1-big-Statistics.db | Bin 0 -> 4745 bytes .../me-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_me_simple_compact/me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../legacy_me_simple_counter/me-1-big-Data.db | Bin 0 -> 110 bytes .../me-1-big-Digest.crc32 | 1 + .../me-1-big-Filter.db | Bin 0 -> 24 bytes .../me-1-big-Index.db | Bin 0 -> 27 bytes .../me-1-big-Statistics.db | Bin 0 -> 4713 bytes .../me-1-big-Summary.db | Bin 0 -> 47 bytes .../legacy_me_simple_counter/me-1-big-TOC.txt | 8 +++ .../me-1-big-CompressionInfo.db | Bin 0 -> 43 bytes .../me-1-big-Data.db | Bin 0 -> 111 bytes .../me-1-big-Digest.crc32 | 1 + .../me-1-big-Filter.db | Bin 0 -> 24 bytes .../me-1-big-Index.db | Bin 0 -> 27 bytes .../me-1-big-Statistics.db | Bin 0 -> 4754 bytes .../me-1-big-Summary.db | Bin 0 -> 47 bytes .../me-1-big-TOC.txt | 8 +++ .../db/RecoveryManagerFlushedTest.java | 4 ++ .../cassandra/db/SystemKeyspaceTest.java | 4 +- .../cassandra/db/commitlog/CommitLogTest.java | 3 ++ .../io/sstable/LegacySSTableTest.java | 2 +- .../metadata/MetadataSerializerTest.java | 50 ++++++++++++++---- 144 files changed, 334 insertions(+), 45 deletions(-) create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-Data.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-Filter.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-Index.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-Summary.db create mode 100644 test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter_compact/md-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-TOC.txt create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-CompressionInfo.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Data.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Digest.crc32 create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Filter.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Index.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Statistics.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Summary.db create mode 100644 test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-TOC.txt diff --git a/CHANGES.txt b/CHANGES.txt index 4cba62d206..aaf8fe1488 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.25: + * Prevent loss of commit log data when moving sstables between nodes (CASSANDRA-16619) * Fix materialized view builders inserting truncated data (CASSANDRA-16567) * Don't wait for schema migrations from removed nodes (CASSANDRA-16577) * Scheduled (delayed) schema pull tasks should not run after MIGRATION stage shutdown during decommission (CASSANDRA-16495) diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java b/src/java/org/apache/cassandra/db/SystemKeyspace.java index 7c222dd807..7fd9268f91 100644 --- a/src/java/org/apache/cassandra/db/SystemKeyspace.java +++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java @@ -1072,8 +1072,7 @@ public final class SystemKeyspace } /** - * Read the host ID from the system keyspace, creating (and storing) one if - * none exists. + * Read the host ID from the system keyspace. */ public static UUID getLocalHostId() { @@ -1081,11 +1080,24 @@ public final class SystemKeyspace UntypedResultSet result = executeInternal(String.format(req, LOCAL, LOCAL)); // Look up the Host UUID (return it if found) - if (!result.isEmpty() && result.one().has("host_id")) + if (result != null && !result.isEmpty() && result.one().has("host_id")) return result.one().getUUID("host_id"); + return null; + } + + /** + * Read the host ID from the system keyspace, creating (and storing) one if + * none exists. + */ + public static synchronized UUID getOrInitializeLocalHostId() + { + UUID hostId = getLocalHostId(); + if (hostId != null) + return hostId; + // ID not found, generate a new one, persist, and then return it. - UUID hostId = UUID.randomUUID(); + hostId = UUID.randomUUID(); logger.warn("No host ID found, created {} (Note: This should happen exactly once per node).", hostId); return setLocalHostId(hostId); } @@ -1093,7 +1105,7 @@ public final class SystemKeyspace /** * Sets the local host ID explicitly. Should only be called outside of SystemTable when replacing a node. */ - public static UUID setLocalHostId(UUID hostId) + public static synchronized UUID setLocalHostId(UUID hostId) { String req = "INSERT INTO system.%s (key, host_id) VALUES ('%s', ?)"; executeInternal(String.format(req, LOCAL, LOCAL), hostId); diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java index 18511e49f6..df539cbf47 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java @@ -166,17 +166,22 @@ public class CommitLog implements CommitLogMBean */ public int recover(File... clogs) throws IOException { - CommitLogReplayer recovery = CommitLogReplayer.construct(this); + CommitLogReplayer recovery = CommitLogReplayer.construct(this, getLocalHostId()); recovery.recover(clogs); return recovery.blockForWrites(); } + private static UUID getLocalHostId() + { + return Optional.ofNullable(StorageService.instance.getLocalHostUUID()).orElseGet(SystemKeyspace::getLocalHostId); + } + /** * Perform recovery on a single commit log. */ public void recover(String path) throws IOException { - CommitLogReplayer recovery = CommitLogReplayer.construct(this); + CommitLogReplayer recovery = CommitLogReplayer.construct(this, getLocalHostId()); recovery.recover(new File(path), false); recovery.blockForWrites(); } diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java index 3ec4f15777..0f07dae016 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java @@ -55,6 +55,7 @@ import org.apache.cassandra.io.util.ChannelProxy; import org.apache.cassandra.io.util.DataInputBuffer; import org.apache.cassandra.io.util.FileDataInput; import org.apache.cassandra.io.util.RandomAccessReader; +import org.apache.cassandra.service.StorageService; import org.apache.cassandra.utils.FBUtilities; import org.apache.cassandra.utils.JVMStabilityInspector; import org.apache.cassandra.utils.WrappedRunnable; @@ -98,7 +99,7 @@ public class CommitLogReplayer this.archiver = commitLog.archiver; } - public static CommitLogReplayer construct(CommitLog commitLog) + public static CommitLogReplayer construct(CommitLog commitLog, UUID localHostId) { // compute per-CF and global replay intervals Map> cfPersisted = new HashMap<>(); @@ -127,7 +128,7 @@ public class CommitLogReplayer } } - IntervalSet filter = persistedIntervals(cfs.getLiveSSTables(), truncatedAt); + IntervalSet filter = persistedIntervals(cfs.getLiveSSTables(), truncatedAt, localHostId); cfPersisted.put(cfs.metadata.cfId, filter); } ReplayPosition globalPosition = firstNotCovered(cfPersisted.values()); @@ -194,11 +195,25 @@ public class CommitLogReplayer * A set of known safe-to-discard commit log replay positions, based on * the range covered by on disk sstables and those prior to the most recent truncation record */ - public static IntervalSet persistedIntervals(Iterable onDisk, ReplayPosition truncatedAt) + public static IntervalSet persistedIntervals(Iterable onDisk, + ReplayPosition truncatedAt, + UUID localhostId) { IntervalSet.Builder builder = new IntervalSet.Builder<>(); + List skippedSSTables = new ArrayList<>(); for (SSTableReader reader : onDisk) - builder.addAll(reader.getSSTableMetadata().commitLogIntervals); + { + UUID originatingHostId = reader.getSSTableMetadata().originatingHostId; + if (originatingHostId != null && originatingHostId.equals(localhostId)) + builder.addAll(reader.getSSTableMetadata().commitLogIntervals); + else + skippedSSTables.add(reader.getFilename()); + } + + if (!skippedSSTables.isEmpty()) { + logger.warn("Origin of {} sstables is unknown or doesn't match the local node; commitLogIntervals for them were ignored", skippedSSTables.size()); + logger.debug("Ignored commitLogIntervals from the following sstables: {}", skippedSSTables); + } if (truncatedAt != null) builder.add(ReplayPosition.NONE, truncatedAt); @@ -220,9 +235,9 @@ public class CommitLogReplayer public static ReplayPosition firstNotCovered(Collection> ranges) { return ranges.stream() - .map(intervals -> Iterables.getFirst(intervals.ends(), ReplayPosition.NONE)) + .map(intervals -> Iterables.getFirst(intervals.ends(), ReplayPosition.NONE)) .min(Ordering.natural()) - .get(); // iteration is per known-CF, there must be at least one. + .get(); // iteration is per known-CF, there must be at least one. } public int blockForWrites() @@ -533,8 +548,8 @@ public class CommitLogReplayer { // We rely on reading serialized size == 0 (LEGACY_END_OF_SEGMENT_MARKER) to identify the end // of a segment, which happens naturally due to the 0 padding of the empty segment on creation. - // However, it's possible with 2.1 era commitlogs that the last mutation ended less than 4 bytes - // from the end of the file, which means that we'll be unable to read an a full int and instead + // However, it's possible with 2.1 era commitlogs that the last mutation ended less than 4 bytes + // from the end of the file, which means that we'll be unable to read an a full int and instead // read an EOF here if(end - reader.getFilePointer() < 4) { diff --git a/src/java/org/apache/cassandra/io/sstable/format/Version.java b/src/java/org/apache/cassandra/io/sstable/format/Version.java index 2b9dcbd4a4..c330b816ff 100644 --- a/src/java/org/apache/cassandra/io/sstable/format/Version.java +++ b/src/java/org/apache/cassandra/io/sstable/format/Version.java @@ -124,4 +124,6 @@ public abstract class Version { return version != null ? version.hashCode() : 0; } + + public abstract boolean hasOriginatingHostId(); } diff --git a/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java b/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java index 360ef8a8d2..c26e468c10 100644 --- a/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java +++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java @@ -111,7 +111,7 @@ public class BigFormat implements SSTableFormat // we always incremented the major version. static class BigVersion extends Version { - public static final String current_version = "md"; + public static final String current_version = "me"; public static final String earliest_supported_version = "jb"; // jb (2.0.1): switch from crc32 to adler32 for compression checksums @@ -127,6 +127,7 @@ public class BigFormat implements SSTableFormat // mb (3.0.7, 3.7): commit log lower bound included // mc (3.0.8, 3.9): commit log intervals included // md (3.0.18, 3.11.4): corrected sstable min/max clustering + // me (3.0.25, 3.11.11): added hostId of the node from which the sstable originated // // NOTE: when adding a new version, please add that to LegacySSTableTest, too. @@ -149,6 +150,7 @@ public class BigFormat implements SSTableFormat private final boolean hasCommitLogLowerBound; private final boolean hasCommitLogIntervals; private final boolean hasAccurateMinMax; + private final boolean hasOriginatingHostId; /** * CASSANDRA-7066: compaction ancerstors are no longer used and have been removed. @@ -192,6 +194,7 @@ public class BigFormat implements SSTableFormat || version.compareTo("mb") >= 0; hasCommitLogIntervals = version.compareTo("mc") >= 0; hasAccurateMinMax = version.compareTo("md") >= 0; + hasOriginatingHostId = version.matches("m[e-z]"); } @Override @@ -301,5 +304,10 @@ public class BigFormat implements SSTableFormat { return isCompatible() && version.charAt(0) == current_version.charAt(0); } + + public boolean hasOriginatingHostId() + { + return hasOriginatingHostId; + } } } diff --git a/src/java/org/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer.java b/src/java/org/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer.java index a683513356..ac10762945 100644 --- a/src/java/org/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/LegacyMetadataSerializer.java @@ -35,6 +35,7 @@ import org.apache.cassandra.service.ActiveRepairService; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.EstimatedHistogram; import org.apache.cassandra.utils.StreamingHistogram; +import org.apache.cassandra.utils.UUIDSerializer; import static org.apache.cassandra.io.sstable.metadata.StatsMetadata.replayPositionSetSerializer; @@ -78,6 +79,18 @@ public class LegacyMetadataSerializer extends MetadataSerializer ReplayPosition.serializer.serialize(stats.commitLogIntervals.lowerBound().orElse(ReplayPosition.NONE), out); if (version.hasCommitLogIntervals()) replayPositionSetSerializer.serialize(stats.commitLogIntervals, out); + if (version.hasOriginatingHostId()) + { + if (stats.originatingHostId != null) + { + out.writeByte(1); + UUIDSerializer.serializer.serialize(stats.originatingHostId, out, 0); + } + else + { + out.writeByte(0); + } + } } /** @@ -132,6 +145,10 @@ public class LegacyMetadataSerializer extends MetadataSerializer else commitLogIntervals = new IntervalSet<>(commitLogLowerBound, commitLogUpperBound); + UUID hostId = null; + if (descriptor.version.hasOriginatingHostId() && in.readByte() != 0) + hostId = UUIDSerializer.serializer.deserialize(in, descriptor.version.correspondingMessagingVersion()); + if (types.contains(MetadataType.VALIDATION)) components.put(MetadataType.VALIDATION, new ValidationMetadata(partitioner, bloomFilterFPChance)); @@ -154,7 +171,8 @@ public class LegacyMetadataSerializer extends MetadataSerializer true, ActiveRepairService.UNREPAIRED_SSTABLE, -1, - -1)); + -1, + hostId)); if (types.contains(MetadataType.COMPACTION)) components.put(MetadataType.COMPACTION, new CompactionMetadata(null)); diff --git a/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java b/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java index ff4b06ff77..533c5113ea 100644 --- a/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java @@ -19,10 +19,10 @@ package org.apache.cassandra.io.sstable.metadata; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.UUID; import com.google.common.base.Preconditions; import com.google.common.collect.Maps; @@ -31,13 +31,13 @@ import com.clearspring.analytics.stream.cardinality.HyperLogLogPlus; import com.clearspring.analytics.stream.cardinality.ICardinality; import org.apache.cassandra.db.*; import org.apache.cassandra.db.commitlog.IntervalSet; -import org.apache.cassandra.db.marshal.AbstractType; +import org.apache.cassandra.db.commitlog.ReplayPosition; import org.apache.cassandra.db.partitions.PartitionStatisticsCollector; import org.apache.cassandra.db.rows.Cell; import org.apache.cassandra.io.sstable.SSTable; import org.apache.cassandra.io.sstable.format.SSTableReader; import org.apache.cassandra.service.ActiveRepairService; -import org.apache.cassandra.utils.ByteBufferUtil; +import org.apache.cassandra.service.StorageService; import org.apache.cassandra.utils.EstimatedHistogram; import org.apache.cassandra.utils.MurmurHash; import org.apache.cassandra.utils.StreamingHistogram; @@ -83,7 +83,8 @@ public class MetadataCollector implements PartitionStatisticsCollector true, ActiveRepairService.UNREPAIRED_SSTABLE, -1, - -1); + -1, + null); } protected EstimatedHistogram estimatedPartitionSize = defaultPartitionSizeHistogram(); @@ -111,22 +112,32 @@ public class MetadataCollector implements PartitionStatisticsCollector protected ICardinality cardinality = new HyperLogLogPlus(13, 25); private final ClusteringComparator comparator; + private final UUID originatingHostId; + public MetadataCollector(ClusteringComparator comparator) { - this.comparator = comparator; + this(comparator, StorageService.instance.getLocalHostUUID()); + } + public MetadataCollector(ClusteringComparator comparator, UUID originatingHostId) + { + this.comparator = comparator; + this.originatingHostId = originatingHostId; } public MetadataCollector(Iterable sstables, ClusteringComparator comparator, int level) { this(comparator); - IntervalSet.Builder intervals = new IntervalSet.Builder(); - for (SSTableReader sstable : sstables) + IntervalSet.Builder intervals = new IntervalSet.Builder<>(); + if (originatingHostId != null) { - intervals.addAll(sstable.getSSTableMetadata().commitLogIntervals); + for (SSTableReader sstable : sstables) + { + if (originatingHostId.equals(sstable.getSSTableMetadata().originatingHostId)) + intervals.addAll(sstable.getSSTableMetadata().commitLogIntervals); + } } - commitLogIntervals(intervals.build()); sstableLevel(level); } @@ -264,7 +275,8 @@ public class MetadataCollector implements PartitionStatisticsCollector hasLegacyCounterShards, repairedAt, totalColumnsSet, - totalRows)); + totalRows, + originatingHostId)); components.put(MetadataType.COMPACTION, new CompactionMetadata(cardinality)); components.put(MetadataType.HEADER, header.toComponent()); return components; diff --git a/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java b/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java index be6b4307af..50df500111 100644 --- a/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/StatsMetadata.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import org.apache.cassandra.io.ISerializer; import org.apache.cassandra.io.sstable.format.Version; @@ -34,9 +35,11 @@ import org.apache.cassandra.db.commitlog.IntervalSet; import org.apache.cassandra.db.commitlog.ReplayPosition; import org.apache.cassandra.io.util.DataInputPlus; import org.apache.cassandra.io.util.DataOutputPlus; +import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.EstimatedHistogram; import org.apache.cassandra.utils.StreamingHistogram; +import org.apache.cassandra.utils.UUIDSerializer; /** * SSTable metadata that always stay on heap. @@ -64,6 +67,7 @@ public class StatsMetadata extends MetadataComponent public final long repairedAt; public final long totalColumnsSet; public final long totalRows; + public final UUID originatingHostId; public StatsMetadata(EstimatedHistogram estimatedPartitionSize, EstimatedHistogram estimatedColumnCount, @@ -82,7 +86,8 @@ public class StatsMetadata extends MetadataComponent boolean hasLegacyCounterShards, long repairedAt, long totalColumnsSet, - long totalRows) + long totalRows, + UUID originatingHostId) { this.estimatedPartitionSize = estimatedPartitionSize; this.estimatedColumnCount = estimatedColumnCount; @@ -102,6 +107,7 @@ public class StatsMetadata extends MetadataComponent this.repairedAt = repairedAt; this.totalColumnsSet = totalColumnsSet; this.totalRows = totalRows; + this.originatingHostId = originatingHostId; } public MetadataType getType() @@ -152,7 +158,8 @@ public class StatsMetadata extends MetadataComponent hasLegacyCounterShards, repairedAt, totalColumnsSet, - totalRows); + totalRows, + originatingHostId); } public StatsMetadata mutateRepairedAt(long newRepairedAt) @@ -174,7 +181,8 @@ public class StatsMetadata extends MetadataComponent hasLegacyCounterShards, newRepairedAt, totalColumnsSet, - totalRows); + totalRows, + originatingHostId); } @Override @@ -203,6 +211,7 @@ public class StatsMetadata extends MetadataComponent .append(hasLegacyCounterShards, that.hasLegacyCounterShards) .append(totalColumnsSet, that.totalColumnsSet) .append(totalRows, that.totalRows) + .append(originatingHostId, that.originatingHostId) .build(); } @@ -228,6 +237,7 @@ public class StatsMetadata extends MetadataComponent .append(hasLegacyCounterShards) .append(totalColumnsSet) .append(totalRows) + .append(originatingHostId) .build(); } @@ -262,6 +272,12 @@ public class StatsMetadata extends MetadataComponent size += ReplayPosition.serializer.serializedSize(component.commitLogIntervals.lowerBound().orElse(ReplayPosition.NONE)); if (version.hasCommitLogIntervals()) size += replayPositionSetSerializer.serializedSize(component.commitLogIntervals); + if (version.hasOriginatingHostId()) + { + size += 1; // boolean: is originatingHostId present + if (component.originatingHostId != null) + size += UUIDSerializer.serializer.serializedSize(component.originatingHostId, version.correspondingMessagingVersion()); + } return size; } @@ -302,6 +318,18 @@ public class StatsMetadata extends MetadataComponent ReplayPosition.serializer.serialize(component.commitLogIntervals.lowerBound().orElse(ReplayPosition.NONE), out); if (version.hasCommitLogIntervals()) replayPositionSetSerializer.serialize(component.commitLogIntervals, out); + if (version.hasOriginatingHostId()) + { + if (component.originatingHostId != null) + { + out.writeByte(1); + UUIDSerializer.serializer.serialize(component.originatingHostId, out, 0); + } + else + { + out.writeByte(0); + } + } } public StatsMetadata deserialize(Version version, DataInputPlus in) throws IOException @@ -379,6 +407,10 @@ public class StatsMetadata extends MetadataComponent else commitLogIntervals = new IntervalSet(commitLogLowerBound, commitLogUpperBound); + UUID originatingHostId = null; + if (version.hasOriginatingHostId() && in.readByte() != 0) + originatingHostId = UUIDSerializer.serializer.deserialize(in, 0); + return new StatsMetadata(partitionSizes, columnCounts, commitLogIntervals, @@ -396,7 +428,8 @@ public class StatsMetadata extends MetadataComponent hasLegacyCounterShards, repairedAt, totalColumnsSet, - totalRows); + totalRows, + originatingHostId); } } } diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 3f54a3a652..334f872f7c 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -841,7 +841,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE // for bootstrap to get the load info it needs. // (we won't be part of the storage ring though until we add a counterId to our state, below.) // Seed the host ID-to-endpoint map with our own ID. - UUID localHostId = SystemKeyspace.getLocalHostId(); + UUID localHostId = SystemKeyspace.getOrInitializeLocalHostId(); getTokenMetadata().updateHostId(localHostId, FBUtilities.getBroadcastAddress()); appStates.put(ApplicationState.NET_VERSION, valueFactory.networkVersion()); appStates.put(ApplicationState.HOST_ID, valueFactory.hostId(localHostId)); diff --git a/src/java/org/apache/cassandra/utils/CounterId.java b/src/java/org/apache/cassandra/utils/CounterId.java index 690d4aab4a..b138aac71b 100644 --- a/src/java/org/apache/cassandra/utils/CounterId.java +++ b/src/java/org/apache/cassandra/utils/CounterId.java @@ -136,7 +136,7 @@ public class CounterId implements Comparable LocalCounterIdHolder() { - current = new AtomicReference<>(wrap(ByteBufferUtil.bytes(SystemKeyspace.getLocalHostId()))); + current = new AtomicReference<>(wrap(ByteBufferUtil.bytes(SystemKeyspace.getOrInitializeLocalHostId()))); } CounterId get() diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-CompressionInfo.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-CompressionInfo.db new file mode 100644 index 0000000000000000000000000000000000000000..48323aad1dfae68ae93ff5a8148a8f63409f2be9 GIT binary patch literal 83 zcmZSJ^@%cZ&d)6WU)bcP>T5ygu%WYLUZ>)X#O+^Eo=q= D-fIZD literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Data.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..64d6d821a68d5ba12b238e4b0f9c22aec556b43a GIT binary patch literal 5220 zcmd6r{Zmxe8OQG;3$kjiBw|t9UYc$*=yW{GvcTHH-ZgD3MiSOInaXrBWMb zWrx5fMT6E+G)=%Hjid%Hsbh6Uk~$rHnT$z0tv1$ZTe*FnvwQEJ z%lHTI3&Zz0&pGEg=RBY1oVy&S;|_B=Q@1S3LHJ+hj9gF1WGXNhT8fHGtm_OMw8;JP zOTpbdw=fuN-qq@Bs%vX*c2)bFPG4JtGZ5Ihv#zGTZfBFrTT|<7Z>{xjcegkC+^vls zZ~Jy<^$ursyQi+U$ys0PZmDbBRbSoE+)^KC_SCwo>jG^}u69?T#?{u;;A#l?T^?t( zyVhOfckc4+?C>=PT#fz)Z-=X+A<)nq*zSYyMhnXH7}POO@9xs@vw3!X3kel88)%>z z!|9&jtGn&5PT9abS|F;fw(xUVc75w|^Cx;fxvK79?{0gzY8uQ!VKMdWhXHhUJ#mhp zujNfn@kL{uA3ck-o=xTGS*-Q!$VJZ*ji>OEjkGPdY8-_gZcQ5>T8FU@WL(L@S@sWx zd7oe&r^ca5d$?~eEKvxF1ig+`!s-ro8QS=SgG2_lb{Sx)=5D$J$GCBxyuBW#R~_D4 z%BtfttU7&)Rc8lSHQ{1a%)uz(_oaC~r(XmpD=*NPBPp~9r9Tp=? zdg(q+7}Y3`+G&<3E+mpYYim_|kjRRly3f%68>_>7D=#mj-68qx5#zm7+%SLsIX~Om zq?Hy%NN?TF*E0(O9DOdgebN_%D+U;ybM$EiO!O6zM`s$ zo86*}CXtAh!biuJ$nT(hs?OvBR!F5Q`RF#QJ`S^LdIUo(OwK~C0KgDnq5w$b#}OK! z+C0<2_Pyam6{h%0(sxEx3x8AgA6CKVXSCngz5 zqHAcNsnOPAXh|svW>%5nIxYu~mU0b6rp7PoeY}mzAyJIfKETR~b>KY*#roX!cXBA? z6nScb>+COb5NHx39@Bim{HJO1HNHI^{@l@>(TRG}l8Y;gX3E$3O$*NOlbn1F&Fx&0 ze{(nNE%MJDFbJmCu=^dIEFVYwqfh2N4F6~o;DWdRzJ=h(pMyU1PLFQLnuCAT2ZaLg zk7p{wBL1CYXe_K)p!9~}NN^C1mL4?#H1@z94ESq3_d`wr{#wsII~q&0o@kw&{OgUOGjwR-fJ``bzzF0_>>s#d!jDNepO_jr>;` zvK#r`Q4R|ctc%iQH{S`o%0{%-nQ(dQ9|8Rx)pgg3B!?Ra$k2OMuGPuW@Aw}5> zKGrst$PW6%m&kX6THFJJ*k8fDs~435>MKl+N@UMgwr!uCRR@@SmB?WxT_y55ldTdt za#e%-FQD2mx4X%u!JWLzmLK7L@rSUa|$<^LLrgA zea_a#e_mod$(J7_PIBdP2mOk^{+z9xa!o&{sVVXG>84=YW7c)^1nlA^^sVgSf0iX6 zSYoX7TZnc^gcEo({T;xAXxrg#1>hC$u5u6_Gh!|;C)uTHp8m^NmjiDWrexcj~=1X zB{?VjQW~8~w&Y^_9(S;$sO3?emw$yai+N8j9-=fAoyTulS>V^EQpY4x1wX!ghJruGd*vhrpYcZUzj+G5e`XazkAoY@<3~h&g9Cr9)5RX!GxdKFIKamM literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Digest.crc32 b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Digest.crc32 new file mode 100644 index 0000000000..c2e6e7c256 --- /dev/null +++ b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Digest.crc32 @@ -0,0 +1 @@ +3931972325 \ No newline at end of file diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Filter.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Index.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..d50fdeb4e209041c5469b14cf84433c739f95a91 GIT binary patch literal 157553 zcmeI*!ERJl9LMp~R3N1wiSCSX=h}8!plsc`#g&O$!%jDDNYI5ofFZmCA#Tc^a7T>~ zKtdnD4KX}|nmXsu%VE)^iBszRbv~?a8fb6t-1D99|96J_D{EV2xclz4?+yeRYxd>VkkCkiZ$aB$J>&yEn{mc zW_#|@YvY>PRKzaq!mb#0RpXjT=1~i^P%DO7PdDZV>n-D&?MSvHTaqow*0htYPN`;G zl6l6(xENQAaSgXGjoXT|n;mA3$QSt{U(=Sas$4swdCEn(C|8bh-5Hf@U&w`B*o9p& z>}tk^TBwCus1-x4;ohZjUvXzwv?baSZHcy~9c^_=HRTe`Q!dIyxpI{2{)KU0ac8f? z%n|t_U*v1r^0iQ|eRCq?VqAl2ucln0dDKEJ)QX|j@T@DB2MU50c!5_8yz0K9PjZ14Xn|G?w1yY! zM^!)jrbX<+F6@e7R~0T(B4~jYXvIKl`0Jnf%k`s5>y58VdGC)>KD=GZ$G?~I$*ofM zelF$Hk4pLMr&2y&{KYT7E#<2}OZn!DvbH_Hcvmg9kC^+2`LsV`?mxnu^dDjB{-j!L zBttSJ%c13>7W;x)>=@V1xv`w-Ny6X?Eq8^QaQPUkv`ktiEsJ>ve{f~|2>!P64eY`$ z?22JmGcNm+sD)an6+^8@uZ>GBws>AVFP_gy-l}n_#YQdELaiKXJ-sqNSW}A~W5_vo zmNQ*$&&>5Z>H0O}lFZAvWLz??n0N5u_U5>)s21C}Xk0Wd=BQp(F16UGg<7bUL#^S? zs9b8Xu?xGfD~DapxYS|`xrAIouAGqT-sZTks1}=YQ7+0Ard%GTO1UT(<;qd6`?_(=w6B=6ulTGhmj?=h7kGhJ47?V~r54+qXihXI=FEx1i;bhI zAGO%ng%e^rbJVsDbbV|GbIjxU!1>O`;WEQvtO;9x# zY$QW6Bs-1|)BKuRY}2M`)3g~gZFY<{;Zlo@U-*SzG5k`CZA3I88WFq4(jEiwGt{l(mXIhO*EjE7P7k+grO#MhLHew+bVojY>$DLm@F16S)E*Y1M zD<v>BILY$2Da+0+~} zH4kdBDHr9UTwP>xj+%0*#im@8i*n^Cms)JfMY$+fj%f8WT_~4YZ1{pN`07xY`jJ{} z1CjwLW~sy#im@8i*iLi*{Ug*T5S7@7>?mF3?I~D zn-Wclro?6Dw*Twj)_p~vlju?Rf>g0jU_)l5$D85*2Qd za;e3JFZhD59DJ$8HXs?0Vg{rfu$;x2)_p~_*p!QMQLeM#&FTCMwb+!4a#60xCtEe; zQj2Y05yLS&hT&?lEmzAmX1SiuoONElOWjxWNiN0(;Se5!@Ifs$Vj&h{#Sp9OVim5) zaIXIfj!vp`a)n%>^R#omR4w-IZy#J%i+!GM2Y7?GRlJ|;{-j#$Rea?U5Ajm(d$riY zGGUppEHf;7ysZ`+zwiscV)&&NJ5`m9dB(iezIR*1Wq*=!F)qdxV_a&nSNmOyxAC^r z6;O>!Eq3awhdju$iubNs>{Wc#(GKnM@B3z4YO!TpGAp9qIc92Bi*31Dt})9sQHdv@eA3cfOw~;PpK}ukRAI*#82) CK=2d* literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Statistics.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust/md-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..0ae8679952d7d537b990666e0ebd1d068f88e276 GIT binary patch literal 7134 zcmeI%drTBZ7y$5@-8){w$sLFSk)l9Vq6Y;LNY$%&7HFD4c@%s_7VaV#1#(;zsEv){ zKg1v!6-|6VNr(X>0jdJEYNCRzwkR6$g~8;C#-^S%NKpyrY~jN9P5X!GUp3uHCcD4; z=8l=&nb|K3Aw)&SODH=~R@bsBu)391k&wW25>aGXua}CYynM4hPbw*q3QZPCZ_2mo z6UwaS6pP7hF`H5)i?zU7P*iBP7%IviC7$&Civ2*K!{He7@~7&(FLu)E;SYw|8im#$ zM%4qO{oX8G!>U~5zY7a*xj(S5exc$VgY!eR^JL=a!r7Ix8)pyBo}4wDwVZu9&)__h za|q{f&QY8fb57#?CFk{=<$DXueh7Bn#<>rha`%HS;^J1$=dgw8oVR0(-0zEraa@&& zt&YZaS%U4#jo0lBj(c=td)l$5?!?yBV*9Pa4(P=Wj==u#7`8qeJN5{6!ddLpY1ldb z*d9M3eSJl zjcX{bzEXwk^1Kn*E!~0aK4wOqGUkJX6oHJ;D6%J@_!MGSuispydvDO{NRi*Arq19{p(0E;n3QA$zwcR!h?QUE# z1U)6F6Rjt&Y~6Jj_ZE}8pnYP)(0rb*d36xR1Dp0dg`TxAsTF$8ovg*s5!driLdWNP zeH7YwFER@{?bxOm=)ADgpFnSZ?KKEpb-6JSx+(q8Z0MhBDt1E;pXyx!Oy_##c0lJX zUk=wlZA?AmT>o-2>e#1&>t8V29)1tLFASVmS`I8)sckQ?DzrzJ3_UWk72Y59pVj-} z^TTzX&)_o9-mRvk{5xQel)5epu;;p}XK?(QyV|F4{Ms8yZ933?np9Z~p9lWO4V`)r z5BhOX2k%$ti^Swg5TBoE4}&J3 zirn_@0pOz#`p-51pZm7H8TQw9F}yc+GEQ|nu8k%DCvSN9X8WXxvu}70{(BB4fbYns z|CgL={Fz5c6gPgf##v0sxzGhtaxQc^$iL3H#(zf1xs;p>Oem`4T&>`8koPO+qNPI% z>~+L1tAnU7l-=yn2LE-udB0^Fdp{yq=hzIpn{w*Y{9iMhoS%UsRkcJ$eiRkGFlJF~ zT)c9oTmxkuC~M)ry&tgci)~xVW~FS{%0o+eaKAUni!T6Fgu%WYLUYfB(ERNXS~v~> D;EV|q literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Data.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..34f4233f8d807718f2b8b61915cc2b0aa65b54f1 GIT binary patch literal 5262 zcmd6r{Zmxe8OP5B7G%+0X@Vu%_F#r|XeN`hEDJ2w?A@lBj3!2~=EY1Vp$iJjg6skd z?CvPLwHh&|h8PmTv<-&PU6L^dG6oHA`(jh6rlpxoN*pJH87G5w+G^8Aj3u|{Id|{w zxyC<$Ul_j6dCs}dx%+&c=bVd>fDR(T;Fo1NK>wFf9@;%*Fccb#OvNRo<}y8^Bl016 zXJC(rP$1B}z17`R*Vf!@uX5XL?zRS-&sS4ZS6yFM(`0v5*V@`!Ydu>X?Tv0nYopWE zzSUN>%~sX!tgCIZ)z>;&>KeD#S2Z-Z)ccy9wT`MfUt5#C-R`Tlw>34`8+;zS(^loE zbyRz7+nqIDccahV=xK0y?cN4oL$hzIn}#=Bc%Ke}>UZwlvlb1XmUPWzsIW=T0!{yY znm@32kA(J4Tc~}wP-4CVhJLysA*QDtqD+e@d@iz4=Y$~@>wcE>k!3WSpayu-55-rF z)B4#U6o=tLt5O6iB^1eSqCW>Vev+v!Ed=yZY>uUKU?syxPN0uKfk5Fyo#^Tfd$kbkbif8GFkeylNMC<-5eIj%i-)Isx&S z)cBt5WAQ22)A;^vVDYKr__?tWC=#ms0T*zss)Ji#Wt2lRM-Gz6E8`a;72`Y6 zqYbp5{Y?%ijcei3A|c$HBF~7`Y4p!!VM>s6QbhQxq-zmRWXPY2kEKqD=aD>V+ z$MUSVd^8vjpxnMN;5;rCLv!=Av6% zD$!lC1|CiQu*@a+P2w`eM7wh|qZ2x5oM-6Q(JU8-e2AR1^TY?GsK~NXMLv3)6&|8w zB^~`6fBp`ah_blr@8^sQd{vti?g zjAUGt{bMw5Df_3CJ-`aU`MZ#<*t9em2v|oTYjN>SzN2QamfYk!nMbW+mP7-S8O5^7?n&F#0J>N(Fd}gCtR9bzAJio=CY(@B^tVd~|GAh)E@Fzg)JSIqDx{gj>X3Cp+xh#NN6GbVOU0_|QMi`W0IoZj_P?>w3Yxh)t z{{qiFiFV7kCwev=&YSY<>G?2TCTJx2{~P1_KQ3U*svSRej|O3bMwxg;%w++rMj67^ zop9)nzg7IRox=?Ml@;uY9UdKck&#}OxOFS{(;9|4&4cc{7YFJk%h)m6Delk20GfoN zJ=s8eX#`=>$i5Uff%aFgvl^hfccfvkzIFj>K$zW{YQ$n4PB$X3_fN&kfXPp3VP#-x z&I-d|;_A(+KNt>^j$9SJFr3=elpMlN@aF1z^kKnUJX_7>bRL#C-XGwPF{`E zCd?i3!?X+2W~Gw9S-FEG&iJP^ZTU27%L@4+a(0kg7f+)cmFy7t*vp@_XKb7!IlrD) zvxU66n9Cs_B6El%K7^m}<0N|I?{hrwA@Z+jZYBKX+9<%U;2y%)7RHiO@ePfVITa+Q zQaPDh!M>fHxzu`Ne;z`|;LNTZ)%D08NBUHTbx|NaZ2GR?5_d6jG30m_&0Y#q@i^Rh zWh~yC=7ghr>?s=%U6L(0Rd1yL#46Xb0>JqL(zUs)0C4VLtw&G*9$DoQm5*|Fk;XYm PS6>0&^@PEF*S`EeE-=wX literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Digest.crc32 b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Digest.crc32 new file mode 100644 index 0000000000..7a8fdd4a60 --- /dev/null +++ b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Digest.crc32 @@ -0,0 +1 @@ +1855259300 \ No newline at end of file diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Filter.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Index.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_compact/md-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..e04d3dbda92e5d6d9dc23d7960537d0d735abd91 GIT binary patch literal 157553 zcmeI*ziu2=7>4oV{4sJIuml}Kbkx|po5XHuX-$Phi_$>@1yTTs8$eO+A&O|6KFTa0 zE+A5T0W=ZH9Y7?r=h&NBAxnArhsO4tWoO*R$&!ZVb!o%)l=%;ThslOL*u&H|I`(Vp%{t{n_|tl#PNMQfi+qu6ObD3W67SfmaN?>basfxj+lFKr04X z-Lo>?U$0-vwP#wyF6_dt7~bkzd{fGof0gp}=VfJUy85kJY_FJm#eCSWnEOSTlYSAV zo=>X9MlvKrvK(5@YO${#mNY8gFn5|e&7CoGXA>^3v7#1gp;ipF?p>e1g1@DF1G}&b zyJFbYjLZ2XYM~Zt#Zc?POXE_DEuI(8i|2FV`D$Ehu~7@PP%DR8kFQVnSJYz17;?^& z<&&QD8j?G7zB|;6OENFxl5xqnVs`LucYS`WIPx3Y;00db6$7uTTxzj}TtY4(SI+p_ z-JUC#T5RmXF6_!-S2HfP*ycoYqB${UPVDZi&(9UrVpA^4MY+P1OEgcpC>Q0*QLek! z=I4rPu_+hjqFhnRr4}2sKnt{Tpw->KHV?VfVuKfWfmaT^>bas?Y}7(6)XJe&_h@Y% za;e1zFYp4d9C$V5Qgr5A(Yc~?#hi1+C%tm{LP78XFYt;3%hdIRfWrxXi79Cni6BC#O}rF^!dseYq3YaUVot$o2T(Ko|fZj$9>Xz zKB*QP$&d`mj^o2Hf2J1Ov}xKjZN^NSJw}^wsl~=G{KBsoeyPPaA{r5mh`q<;Ts7lz zKFPQk7vqXCF16TVjCHaj7G*B3aZ6MEW|>r9AfpKv>BILY$2Da z+0+~}HLJz8TrJm_<=X3ptL>epTxzi?7lvba48uFM*itSjmy|0};bzLE78}0c3%+vj zr54+OWI&1;kaEDXj89raF16T{i*iw}W$@1Jw#Md*yE%#5U=ZfCsVqA=iapf47T5QBZEX0Z-Rxfo`xFW;3{;%L_+rOX< z=ndL{&Q*&&{_VXV)nbdtL}VheY;~yTlWMV%49Sozhh%E8%_?uutdg@ZebSS1lqOti zvGEJPg#9sLzglb~q7l)EnCN%SxSVb=F2=>UVvI{IHsfMkj4Rc+)MDcoe&JURztmzQ z7Gfb*4zc=AS~ISZT5K7Yj7!E9lX0oVwp=aOnC05*hO48-piOt;q!-@YA$LfyFqB|H zEw*QID9@su!On1+)mTHWv07{)m#Nv*95Xem#kO26*O=u>N*ATHDVHx(rCb<};V}$X zi*31Dt})A%a{WiS)MB3|7WDWmK0fY-yRrP$qZXTSF)qdx`85kQMJ{i%q#G7v;)TF16Us6)_ycV;HU$+j6yBW0tFYVKHBrrCe&U#SLeT8!V>9#pG@* z=WcXrvCW92lXM13XBDo2kFyom#UG7m| z2~&&hsX5(KgS1F{k!waRwy;cCCM?Sg%N}m2#l|oE!mk*9sl~oX-8F6*w>*DmjVM~g z<$RKHF)qdxV_a&n?RaP1@%SQNyvWs4jY}=|Mg9vQ00MaaPPc!m#rDLU?ukKJlpV&J zX~v}%TgD~hl5xdkTxzi`SIaeKxzgQ5-L1+sR*Ox!FdV~U7_Jt37z4Y#ba5|rH{6Yr z*JU#L$Ywb+!4a#60xZ?pJ#FkCIRYQ$E5;R zYbyOh3_TkwlJr#*($J=)&=&si~=_gd((rb62?V{6{}DezI{V zne6`VnOkOdXJ(%qf*|OG*^;Onm{K<@RaELurAmSjUo525I;+fbom}a#n=9q|db!5t zl+8AW%be5bvKKgQcBkD|C_7!%uIkzvyVKI#^keSHn3t6c#QXjJnTR;1-#500xhEbR z@97k~KbY2!Ob&OC_DIgc(} zh~5&1u73vIBBMLF`8#OExG!POv+IZ@{0?zeUV=V|^OO0$fw)+V>skC9EtP)-?R7ew z|GKM}Ag=$k6&&#={&nY<9+ddmoYt)L6sK9vRT{TT1ha4+0X78ZG%wr7^yH^94= z9s_@IF_l_eaSrxZ@omG`G%lGMV17t_n?q?_*ATjnTK|Fv#v4>y-9Y2Pz1|7xQ0vBV z>IDh?u%05yjaO(qQpz8oj?PSi`Mk(5^$v~4AAj>E^~0<3x~W%uTegNe<%;7Zb@rB5 z4pCdbPc5S^I=nrDx-#kP6VyBIM2u3me$tsseZ07RDfO3a&3maQ&J1lNW-B8q`lu^6 zY@q9(brzlrtber`^S@=F>tD2cufI>eFOHm8*F-G2n0FtsF7dK4pL%j~Cw)HpKivE2 z`y=>~=+X70eMsA>rqje>1xE**#NjWt{z}Jh_%7-u9e>o-ydEQIzff+eqwj;bW0rn1 zi6?wEYNXFAaV$5#g~T5%^(E1KAS3;k0RxF!JU9AZB7XWn*9qF6O}^|5I-hHbtQ~IB zzPX}zaD@2K55wm>h%dbRUKj1J_hRx;=6swPU%xb+L!7_$_TAm{76N_4J^1fAm`J{( zp8j8QuGx2ZP-lhCLqSnCJEPHQ>lBr#t`?kPm%Er&UOz(o8J-c9T)lrr`L8rim^)ZARNn3O4;=)pd>w1 z5=jtN2%=Z0nLc=Z^19nO=z914_Ohn&%O(hC2`w;j!gk$+_L1(g-fP0t#^SiCfQ{Qu zoB0}VgxbPU21w%MdNCQNP0ikk{8_M!z+Vnj2HSR{v%=`?T#L?1qw@tDI;#v$`Nwl*R*TDElzSJiv`V20Onx|XuNika z_58&yWpu1mG$3adv5* zOlBWWp*ohs-Qr*kyEaCK%LAvgdf4`)fe5bf{4XhoX$m1c}qrg;bJF#OAdTs%vhbbHbPAtq`p5`3`V3II~*ybylDu}IUL(f=l^OJ@GLK-IsXUQ%OsW>P9xt7N=RBvTfi_Q8A9(u2`Ool!HKp2lE^ zZ5!kH>Ele1hWeesD$8eyWXgj>eQ-mimVTII5|Zsy zvC39oKBT4b2PALj*I8=oxxJo!Hb_Uzq2 zo_GJB8?fz_ZbS}8T7W}k^_tfTWxYl1Dg(ro&P(QeK`~1u+!knv3(Dgq{z9pg!y01B z^IPDGv1M<@RTecOtd0j1e>!ujW7GBU;Rd&zZ537!ILYH)qx8VXTeJ{R4+4%%- zi3QRMQx`^iIg=G>USB7AE7QCKbr`Km^Byk2s4LAo%-?GE(mm2TF_DH3_j?tnL;x>l zz{C2a;S4ns!$)IK;%waR7S&A2D&m+pYhvy>D5cs7yN%fSy`zkthg~Hd$vjNHX<_$=0xN1OBz8E)Ilj(dA#(LL@yfj9a{m{Vf zwP)y9d@WU*_E@ z7IdVx3D!o;Pa5PG>kTru)F2CT4blo+r)aEIng?c~ttDt|nH7|$yD*TT5d$6%22wOC zZTB`AXjHy?cN3@4(G3OTjr@_)h+Q#Kd|@Id{gW~B^(mf70!R23i>w&uCuECrHW2hk z!>3!5Oa@tG^PMtF0@&j$vh^-i+wN)Vkw(PSdA(I$&C%uG!92u2P1k7jMq1qWLvLk2 z0I}8;{&OC5!kl>ltu;-v6kUBaY z+VuBk;3R;$KC%~3S8^ml9kFxjB0reKm38X&_;GhfM^-A+U=G{+GDe+bE@t{tCq^sM zGTqmV>*;lSpq{FJQcfZEGq^WW&LePLkOuh+xD24S^alA*kAX(!r?-QAtg9B1PT(ky z1#?oQ{;DmQliFmwiEcSrOw~JCR87rO6}@Vp@qCykr_<A{(6I|zfDv1_p>}5tt*C@%SAB6!hf`AqoFBA>K?#A0z=?3@|C&K z9E+4_iWpb}pG$ez6`kEs3EraL{||?Ed~>Ee@$QU7f4fB=^zu{)h-!xcL|8n!sui=> znq!bfAO7Ge!e!L{aXEYsBzh+dS6<`VUjvD#!P;nz*_U4^jc|#bH~QF}y)b_i0~;Ip zuhql--`^RD3c^YJ*~)RP0AB4Ht*yz@foo0)1g@~5iX zn0rhk5E>qMq#YTm3qO=M`~;2w2>cP54+Lg3CkP~VPGGdD3s=?&+~NTxJ7A;a?m%F( z8>3D#7jt?V3r4O;%ha<3qm^miXJG=|Hfi40n-ERX`kfi7IwlQ7KJVwRRwr^{y^+Wl zJLp_5Z!3C(?5(3?z7nbqE;gtd32a(rz5$j)QIG051kuoqv}Kx zDjmr;is{&yEUJDpPn3L4_LHXj-f`M=FAnf@bR?x*Ba+d)N8BkSkqOJJVy2xjy0jV{ VsqfV2a+h0b6rc@>jXfV9_%E9-yfXj* literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Digest.crc32 b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Digest.crc32 new file mode 100644 index 0000000000..013e4a58e2 --- /dev/null +++ b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Digest.crc32 @@ -0,0 +1 @@ +2111053471 \ No newline at end of file diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Filter.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Index.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..c981a226039e4a75a5fcc064c73c9928daf7b7e5 GIT binary patch literal 157553 zcmeI*F^F7M9EI^4w6V~Doe;DV3k!E=Cdr0$f*=vnsD+3^8f{GxK~iX8kv7Ci(g;Et zA#Cgd!kYwaY_tgr+GwRA5Q17+#Jx8=`vzH<>~5HS$Na1wTg1uByWjo(=f0g&4y}~# z{4<9?y?_7yXXU|vPd`~cUtd{S9gQbPj~!n-;mSSm99Rp(=D{YkuC1(#vBgs5!p%!YzQ0w|v(~Un{#x)vC zwj^7UEy>ofldYao&A24hnsK2PYM~Zt#Zap|cYJoPIG%{ML|dXQ(blk|t)5a%xkU4n zi*iw}9Ob(3-RxX(yw=0a75O4x|B7kI_M ztA<aPAU3%Mq~PY}Go3%p|B)s#y#k6NgOS~1k>Zoav#T)t2cyub^* zV&GNJ6}`y?TA&45G0^I6{k&E6vu;|%F6_dt7PiMKvY$QW6B+H@YW-a#LYO!NnJLkdjNf!x&JG8$$)P&1xtkN=R znY1is2fy^i?0v9R~@ajC^d zE!0A-9BN(vdb)8>Eq06{=R8?H>Hf~l+`mQluNjwQUdAQkl5xfC;N9t$w?i(!u?=3} z1zs`ms>-DnTgWBk5_07XsNI=wx0FjQHg;hbcIB|E8JAjYbD}xXoES4FcIQsc&K1>S zQ!dIyxx$o7G*7uG7v;)Pt_wG2=Zb2vDHr9UTv5uU78|rc3$${e)m=U{3%S%{gBN&# zR}Q@DxuRNZ)Iu%P%ArYO#45PvdDhp0?8`t>=?!v5^ePkZdPD4D)Adu}zz%P19z~wAo{{371-I z{K7B%is6@9Y$Ku((TLc4OwLs^F6Wbsi*Yfo7~@il&A1pBMn#-$b; zu@DQfVu;mCT@|j#aIXI=xLWfsXajnTHlTggVvle9a#k(2h)hH#BFk2XdOoQZ8_AFi z$#O`h7Tc`y7|kj<3)3fEl%q7^Qj3jW_$BO*3H#Mz8xf6&M#MzFYsTeti*Ye7#uZ~+ zYOxs?<6>N?#-$b;zwisca`>ed8?g`zv2uvjf6|(9jnrbxxMW;1u9%EVEw<%qxyCHl zUN>BAH3qG?6N_GWbBEj^!NO321-00o#i2Zlb_P4cZdPLrxyEX-gKc8SLD|$)R0Rp_VPCkszOyfb$fjqM=dtxqFj_KSGm+;J6FVT43A;BT5QYJa*bK8 z@`d?)VKe1Yi!E;0YusQl%`YZ*V>x%DQ;TgzB%P!)P&%t{MTT=Wx8-bZ?z8(mw1H$_ zwb+xJKYpneduacpFatB5$=&51^_4KS*q)l*JvB&+vVjtwc z00JO@=WloWr&?@J%8Yu_+hjqFg!3b>YTz4B~cnEGYdeDntpe5JpfVpTK zW(iS-W(-Yyn-GIWB1{E*Y>6A};fA6a+ak)6jx8>(n?Z(3sCPoc_xszDE&FR`_e(B! zAHKg{@AtefKnT&0i4rZJsC=xK4^BR|$p=qJWFCpLOPfqWrBG5Tno0zRL$FyT!DKCU zn$oJBVzy)zCDEEANX{~6ncXHz=GvMcGR}m&CEp;@M-PgI%;?bAI83nb&UNP2QW4;4q_a_cqZdn zjOQ|rWt_lx8RJaGYZ-51tc)!zjS%v6JL7(A%8UnH%EXb? ztxd%CS&r??v{&~8$NhV-1KiltcVQckVu!tk9npvVVjT9oBiN=Q?Bqk(X_v5bLa{f7 zV>@2Ot`o4Enfcpe!Etxgq$k!9jrtwMX;D7*Av`~+`x_MJ^6+}*zQE>-zDD&m8a)3s zH?E<$_Op6qpWj-Lb$K3Szi| z&Pn7iuf{`j^Dm(NmHWVO3�~Dl|X%&h>sUuBq}{0j+(bAGO!VURDL;z8$U+Xg|xU zVd!a5U1&Y&i;UM{Jdn@oh7L}SLGyWr;n98=k36;a9`x)bnQhSXzb#w_9e2I-40P(o zw+};GzK<`2&OK6*1YHty{$=Q`kM%>)^`Ew6K%dGxFbDdprrP(QN6z)F0;UV}#huV4 z>FIF&)0UhI-u16kqn`H-aQ$&`{+d2aCZiW*?vNnQJZHPOAsEa=hEZE$?Fe>610 z_lNJo;GvbEzOLzP&4+aMfIG=5~mgWXf zzqYueXAt=C?SV_pz*ml+Xob(~x*FS;JQb(Lcdm`40cUM~_+;mliTBy?9{lGVj02xh zF8?n%*Tg%IkOZdvXpPG;HRnPdq~=_xJIKGzxh8I-=3Hvd1tt_#bFMbf9pw4SxoFk! zBKI*8R@h0jA6MV(4b?q6-@LnjyZrYN&ypYe6X&kZKSN1gQ zsT6PQXk5&2qmGaTfBkQ>VpD}6IZB0cQ$hYKDf!ivBK^lT3FWs6<%|FB#_9GgHm4}1 M+sn69*pzR03eVb?;s5{u literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Summary.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter/md-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|9q4L`JMsAG{as3emJY0_w> z6%00FVhtfyFiBJS;XXB!;G#C6nHb(aY-5wQ;5e-~DK0e4X!;{!ZBk3^>pA!BzIWeF z|Ij}ezvq7Mz307mKKI-uL?RtTay9F^-U9#E$sDpL=yJI|1>VAfl8OgcC?DOdN1uaiG0t`}{rQPmsMMVF(YnC%Cn*GE9Dca>9|3?#YgqBfF81ll`I#g0$cd+|>z_$%KQQ-HlG~ z5)ySbFMt(?N*gA@TX@OzLU@u4J>Y|IdeKtTEloOD#T@h&TV4#VPC%#6?p!+sLAkdO zv+tU*%ZbLCu}Mcd^_=9v9*k^MCmm@t`1t~~^;J%i7vAB|=Ls4fNF_{$>f3QGjlYQ= zsV|8&?7+Y&Yn{jHFmRd&`f4HjrgAHwu&3Oj+L| zdA9O5Fxwt-x{$qigr{pd_IHcZ+xMY5n#AqW1s6NmBo24gi0ZZFqB@crn9#X3yQv*-JL2jSJpeMdqomwdo$^EsPxbDFA`7#;0JT&4=le2lGkDNHo)UW1N zq{}%s_30{3<^6AMt|tI%zpo?;DuVN)8%ezE$B+GAPGLfdG?TnYBu=V(M6sBoPwid*y&f(@Eg+t!4BodvhZ6|uVBXL+*uecjPd6F3!_Cb-n=kI zi(|a^e1K73jMsG%qH;K2*AK{#$3uR&nYRl{n|WM<_pV6?eT7%}6z4JEADV2(Q)s|* zhLfc*-)>xLn3EXrt4kYDMhBNwi>j;y6fG?Iy7{7{l{sw1T+y@2DXPjTQLPyh)q0ha z7~N{aae+k0^V1zX&w}W9?Mve1t(#BAQb1Q@xJoZmw`V|Gtk$v_s^Bs{qif2#hzMVQGIirmMI&Zs%JZ%vZt^*H_HkF6Qhowx>WVvo zwcsq-Devd4I1NkxuWoox)Vq#1yfiu2u@j@$voKm1l^E^CLEO|E`CYGGfPmyQ| zFT&%4n!I^hY&@#(RoQtg+Gee#(8a^fOcTe@eLie4(S=Lr2u}9R1W}b=7uAE8Z0fS8 zs#P0~YmbXK`c<`rr)L6K^O87u<4#f4)uD>u=nvJG3xl*l#F0K`Q%yGYq^Q^r-gyM+ zit?zQkKs}MD27LMWULq3VFX8{?_x z#3?w8@Qs@X564D!V3!%p_=F$29;VK2Bgw>3r36YK_i zzg2N%gFS^^fFgrdza_!SG?2u8kEKPu!d%SsGL{%EjLCGo4%ds4Fez3V`xL&2HTGGS zsQwO13NTJx6JS)>{u(=r{~Q(P-Wo(@^hSl&o ze9)5ftX>3D(`E@%{aPj*HD-T=;cPf-%xfwfRPD<}BEc}ncKT?!!s!E}d2sw#P-^$U z@ngLlmw4DPZ$PKTqXqog(#DugWo9wY4ylZR}BUtJrcoq^&t#cOoo28 zzAQuNkfGkE{JcYYo1rFJa()vFr1q_jL4-{tQhVY*yI|Ewj|3vMl^uh?m<6QveW6V% z^ckDlWmC^`1vJ9H0MniW8DUpp+VkrgVclLFTvLTVS6%nUXJwxqCZyl|1?z&l@j?St z?LhvWpz3=<(icImgH<UeA7V%fPP(Iol*R#_5YB!0+&cfnSp_ zAMmR@7Qs)jbNsZQp2wA=_;m+C(E`}W+#T>cdKjZ#VJ_x$d^bi5V={fS0i#7R-e5IG zi(|ZJN+4>YI%sQJ??KZNa2$fJ1*LBMYE;-7<4SF|&S6^{`(Oyyjo?T>+E8W!r_hnM z)F^KXyST%`O<|WdiRpa2!loV&RTv7%1W{q1WCIt7~7KkKepe((f|Me literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Digest.crc32 b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Digest.crc32 new file mode 100644 index 0000000000..8890fcdaeb --- /dev/null +++ b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Digest.crc32 @@ -0,0 +1 @@ +3412778007 \ No newline at end of file diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Filter.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Index.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..041117e33b0039cf3bdea54b7ad32493783fe2a8 GIT binary patch literal 157553 zcmeI*F=$;?9LMofbaBvv;3CCEoE%Kvdu>xXshdJwbSQ$*MHdGhB8Z3%4&6kmTit{X z3MF;2(|s-Is!M%?i%wb!rKpob%sI`=eMlfpQj+_#AE!%(`g(iM_k91qbMt=X$WrM( zc+9B{ScO$sHEdS( zlsY<{t(S(bQU60%AO>O}Hf)GBY8}Tatimd+8aAtXN?rJLI{Wjkah>RY>I%hB48?{` zv1VN2ct;YBWgJb#9M4^PVmiCsjBDgj5xcMpyJFZ?jcX*CM=jJstr%)u{c@ghjmDBK z$(CeGvNh~vtEW^mF3CLOVqACwrK=B46Z-d<|Q^s&b7*^OTEnQLY^2 zI`{Raa;*uuunW7eD~4UoxKInVPz$wUsMW2G=jV#!iD*l-CE5~g4LjQEDbv4l(+sU<=xlIk>&2MC)Hwm z#oR0A!+yowFT(8fi!k+kQY|);AsLe8&~l>|`){?_F|M8SVELpw34=SdzdO`~%WJIC zGHIE#EM^D4@cI0Guw~^N*o9r#6~nG(T+Sy^3$;)yhFX`7&5cVfws>AVFP_gy-l}n_ z#YQdELaiKXUHxi0yVFh;)na28c41czyP9!H=4D(mE*V!$#?_s9b}Qua8{6OoUf>l2 zuc};Xu?>m_MT26_pxB-Jc2l|3Vq+I}VOI{jnsKScHYb`B&51E{Vz+vFey*q%n{rVu z$`z(uqIt?ixhPkTa-F|6KUY+XO}Qu+<%&`+wb-BqTA-B!t?uGW^N>p|Hh6&-c;&#W zo-3-wMlIArtsH7~mw%dvTxzkw3%tN92VPCN6rDL&bgt-JG3Q+I`q?ez@`Zxn1zzA4 z1FsF`Qj2X)G$)!9bLPbE#;==IKWeeD3%jr@hh0^;Oo^sMQ=%y`W=iaCzB#@1{vK@faM@QX$`s5VpA^4MY#@wH}~iNp%$BR zQ7+0A`OQ{Mxzu7iSHy4(k70PH7Tc6)N;DoQ3I=?v$f6;Zlo@U-%{Lj|uzLVjB^Sh(^RjziYfc!f*_aVYpgs%hhs?S+11pKgy*RdpEJ5$7k{JaW~wJgI_&ru^AWR zVqB45vrt1Wwb%#0X;2la;;Gx~+c;{mDHr9UT)E1n7TdWZhGTdP!_{J2u9j=ea+NPE z<_jAsms)Ib!(QVCi)nE&xf=&_H#)W0W<=6SIs>J%3Rh$}XLCE4&CPvwpNBS(?5h@g za{b3I)M5|qpA=?b#xuFQ+@rn{rWV^%v%9ATX_59Y*Nj?hVVST@Se6-ZP*^S7bQX{}o&<8nnCNZv5Z3 J<9*a({|iVrBd7oX literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Statistics.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..17e6569b40274fd4d158e87a5c4bd33d94c2b29c GIT binary patch literal 7143 zcmeI%drTZf7y$5@-8)`|D;$&-NYS=nE2#&CQXpx27On!ugp-HhqiGjzQ$V;Q%e4a5 z)KvNpQH0itP5RV?G_)xxs64FIqzc+rTd48WNQ23Vrj4EwiqI0yS>eL>jV2oZvT-+= z?EdbX-J98+nf-D{2+@(bEspIdE8AERSlPphNJvZpNpvVXO;U|iRxX>$q}p1^Zc`+a zt=wtKtar+JicMBzn^jVr70wEWT~^GE4c}#-jd-42Aja$U&W1!${ekiQv}N+XiS7=e z>-`!1=*&nc3%9YNZtC~Kjknq!xUqJj&DRIthkD<^{N9hVKj#3>L7am*8#sq?j^MnE z^K#CsI45vU=Dd+}4(BI0@8qmLTeuy9V8`8@UD%X+9&`g2cXGafEiC1{4_oA}FCM{h zT@kiE1>0{Ewm;Y3fV(&zG>9GS!Ct%{+js&y@+s`-VeI=8u^%{&Z7RV|JBpoo9^1ME zdq)&@?c>-@5_UT`eg`c$?uniE+&rSOzoIxTDa1aC$0zlCiQ+;5p3lN1Y_a5XR9~mV z<6k#)1;zEBG$Z@{(t#XM;6)Ccm5~?Ch9etncszz#enjzzzDVR{H=>c3yYi7&UB%Bk zVG2L*l$H-r{Y|6aBR{$Yx9`blH;PyOWJG>3uM_$3bUJeHNBI7X^rHJogF_ zbjFSsjzL?#Nh*fUKVF>*T^9fD!_d3$gp5Hqf83D`eY)WAO6bqp8efH;d}nwoFkKT; z+6P^hl?CTN?XdRv=D%8vdS5fZ`7g-s8}EVhh0!yc8-PV8bsqrM#a%V#LQhTYfzL<( zTgxH%{_uY=d~6G-AJBHL;ceicypsb8aPao#pJD$EUx(d<{SO<;={AD;OQfb6_&$g_ zW$rhDcS4b8%ui!M}d!hJ954q_`;iSb;9<#FD4A9EyStur7JU;z`2#T@9tYL@wE-F!GF%d z1aOXe_`qz9a#ZcAwyWRpJ0AF%!2kdN literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Summary.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_clust_counter_compact/md-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|z`!txfzhD;|Ns9D42%pv*;M%X892Dp^79pv5{rPiijjfQP>~@v9;Uv_j+9&+J7d88P=_QwYKK)&v z=kB??-lZJJX}Gs3Rw;NTFHy3fw_9y?n>9nWJByq}CB-(oxw7Jqlp_(}DmNJE@puM8qj+h{^9_7W??*k2^}^B9 z{ZdzdXP6SMRkAmEpGy;KZ+mD`+677NgZiPQUiiuY#(|8rjDs16FxD~FGmc<9g7GMy z)pm|!;_-|>Wjvj6D&qx=mofH^Elt}fl*Rya5E#_T=`Wg++f6dJ+5SMMC|m>**Ek{}w_lm*SCmcHzO{sxp3mC<-$ldG3H$TGKwdPqzQtf$aC z!wnh_6VqC$!;|7*J`dNu{DH0z9dfL+Oc2isKPtK*z z+_N%~x*+bSS=6ik4eh3`zEGb+eJE?kSn8{_m7A%1kGIby<|l;aH&YkPnM2n+q$`G$D@&W6LZJ&WDb66t&{&a~9kkouMRO>JGoyMOCE zRY!bg|A7YDUe~$!_N2i$Z&-h&Kbbgf`HNTU2F*gg4e4a4Z|pw5&!@I literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Summary.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple/md-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|xS|Eg literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Data.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..4b575a1fde0befdeb89bee2b934697c996ba0227 GIT binary patch literal 91 zcmdnQz`!txfzhD;|Ns9D42%rF*cUMJ1I4)0^79pv5{rPiijjfQP>CU1kb&XAy%j19 mvPLQl)(1Dv0J4mMtV10IK$eLLgUMn4!445@P|RL>agM literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Digest.crc32 b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Digest.crc32 new file mode 100644 index 0000000000..7dbd2b233e --- /dev/null +++ b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Digest.crc32 @@ -0,0 +1 @@ +1071552074 \ No newline at end of file diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Filter.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Index.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_compact/md-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..56f29df1cb9be118b9993063de9405194522e236 GIT binary patch literal 26 dcmZQzG+U6}&46q) z!+%&Kav8Cypl-~elO>jbW^ESq!&0$z)k0~z$kFV|Awd$?_wt_cc|WVozw4gu+4FsU zKhNFw`FY=GCkTR0xSvwBLe%nBElXP7t7Tab47UYywQGk-tx?M>oThTMwpOijxKxv) z!fnc_cRTZ34yViM$X8wNN_S;-mD6QuYWTr+I{qc?3l{qQ{@Iu$Q8{pDzt}ptc%rvk zI`jUFGCDI7tA*RN97uuZ(!@K^9-6dvL1KMiHx+gfEW_Lm%e27nSaX06SXep8NKD5kz zzkCSex?;4Ffeu@X4(IwCaS!8BL+EH9`l0=3V<$S{Idt+c`e8GASqIuwiq1NW&bffj zpO4<2gs$C!ZdTD<-1;4|V%(Pk7E^vhmlmN92%{*XeNm z>#kjfxbjI0IPBMMa73XW969R*&zp?{>m9fr4c1!_kMB|p{j>g0LypzMz=wUZqJBPVbHLqWmfBmxiiN}3M zg@lrRLHV%$`t_Ubf0rKf`bO>lkw9icW4UR&_2=T_f%B|`-TSway|}e9_yEB^qE*&j zb)#gcbk%hfbMkx9X~`P1_76SmK86ATF literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Digest.crc32 b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Digest.crc32 new file mode 100644 index 0000000000..b53f686c57 --- /dev/null +++ b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Digest.crc32 @@ -0,0 +1 @@ +662242669 \ No newline at end of file diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Filter.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Index.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..59e65cab85e287ef068ea9b6ef8bea46f0d1664b GIT binary patch literal 27 ecmZQzG+5=Lb}!nk1*kThv{#{d8(*aT1j literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Statistics.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..ea7335daa165a3928af819546c52f6a00dd53d82 GIT binary patch literal 4696 zcmeI$|4-C)90%~vm;3NdIJpB+aFQvcGCeFJa8nQA3}|f-Ujj>~AGps12Y2klX+Soc z;V-NaxeVR>?#388Sx^aN)thy>)l}?AES{oaF%sw6cruKmOUaxmLB9@o--rK{sOguH--63>+ zJ|&G#jYMkURxSII?|W%t?Q0KBTDu_Web8@8`h~v?VjRpkgmD<-aK=W)CdSc>=P_Qu zcroK7#?Se!_iHs1&td#3>$4EX&!y@m~`n)y!UGT0&?cj_3 zE2)JgXW;i$_|W(*jf-)0us+1zO`$Yys0&?7Eo~fz{suWK>u5Z<$2~zEYFj@}JuAKs z_ESWu`5KK!in#;SQE7>=p641L?5FYhC*QwA{q*xWUDQi%m8_;tzE*LXdexS<4pZB{ zUs*z3aHKkwx;*jI4C)qiYA6Nlv;8&HYEH#h%I`)~ZtbcgoebUmlrOzO{(n`-F$AhzAwXCd+U^J8W@ zUkUfJbDKzfd9f#vo(ED>ej6~7xOMoKzBhhP z`0x)SXWNL+9Y4`Y+w1O68cLgq^X7LhO=S}2ZoB_*_l!BcZTfGp3D;9@lOL&RqJ)JSqccE*K6jaOQ&X2%NbBXD+fJo~$z$UpKzObBv2A>E)y^>u+57 zDdSOjBfNc=_Wy`4>qBF`**|h3y~}r=x9j)*tJGiITIv4+F6EY1S$mOF&wTmR(d5MO zvJ8$}`tN_}lv%1}wYEa8vJ@A+m|j$0qi9bOcgR)G{$Kqp=XQrnQL~&?+p8VE5B>vx CcbftL literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Summary.db b/test/data/legacy-sstables/md/legacy_tables/legacy_md_simple_counter/md-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|4Eb6N3%qgfN+PX1B7qtR)z_JA7AnP@JQ^k%WVT(nwbQEw@<>ys+& zQo3xBWXX~t%Jw3Ak7S6kTnfsguInz&M0pD3>6BwB zf95qAmxW%Fey39Pms2jF?3r7bc0wq}EtDPDEHxkOJSuLdd=8tNNO==BPhFqigX5|k zY#|QYZxOaX)!%@(I3C!E9pu6uzXe-&06TmIc4Rm9R0H;m{n+|E?1a78NoTM#CSb3P zz%E~gT`OWYQtP+VgyXI#WH#zA?7VF3y<~lko@QNlQJl*n>vr@scLkfzyMgMfRCxWX zZe2rh;Zhy4-=9s$0aRDV(L6XdTFar?fBbfS3i3mtNGdNcCwq4~(IzvA)fX+`7728O(b^;u)eR^*M- z4k2H?I2W3mc?!K>xm}t&FwRF-p!LDGtyaUhszSXOT3F>k{q?gIRlvA^t8)NaZCct7 zJua#pJx{@Tx|=W_!l!jWhbF|J^*m8C^dpQPWb)s z|0J|85!4T8_@(MNaA5ku4jDLTP2Ee_f6aaEGuVIat<)ABs6RohErZ{Kh(pG9J%~qL z?$g2fihh-nRtw^@b6hcSKM)`Hyh8)xM#t0kZ-Kww(|iQBXQgXFJY3J#OjBb$s9%%c z+Sv=d?_tlGM&NTl{oD-O>%17-oiG+>b(^mZCjqAwzka)E%nWH8c?S#L7%{2Jkppk} zq3*fJFra5#IqBPTk&$^<`u1FCI2hla3yp_w&*j^5fd%nl?YY>B{yDCLOn7b^BV4Gw zef#(7ccsISxKa6k#FNR;81HsDT63gu%WQLUZ>+X#N}sE$jgR D-^d8t literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Data.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..45a270963db8a83702fca56426e11e28312b4d1d GIT binary patch literal 5239 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 B@eu$3 literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Statistics.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..fc5e02c5c47cc1fdec84ad81ae1c41a55acdce3f GIT binary patch literal 7151 zcmeI%drTBZ7y$5@-CN$Aa3BgqS{2li_COGU6uk;(0W|@6D7Biha9hDBkmF*J+Gs4s zgfxgmOGy-MO$b3F3O)cIZK6W0T9q1Un__5krHxH{twDMy;W`Ig_`YfXF#e@+CzWdsxVpdFDK0Hh%!aDUpHoi+e#j0G>To#5e1oY}_i#6@9e!n~y+vrd zI4TW{_WQALJ*&>*{JXI5cAgI`?7UEM^}+R_L z#d$90NX{{wlQ^ewUc-4KXXm|zf-Meg|GK^)iQ zVoR~uZcDJ;x&C@Q!Evu1Y#$r;wB6XcBiKRfutR#WUyZ_^cNklrhaGq7I%H&1sP#{Isc2sEB&Xh%MS@z7)Y9zf4tl-344|NFH`&{4OGPCzH- zf7A$V{4shhbk^Z5anOYkXWxR}`q+06y5?$2D)h1JhB?qT>#O!c51;8>4onyL7IZ=v zrli36Pg^q2x#qvK8FlQ}!uc;K*8Atd_l1GuODlmz3$@k(Yr=2o(xL74?eP9c|I{9U z&ky(40tT0X_8#@8Do+D@WqjUk2KITc=1BHgOwGB_1yXY^bUDZ~=UfwqQFAUe=K=$YsySC1xE$og%DHI8 zP|{;Ug6blO^i`#H|9AHBZ9{4E4)%V;SzUcI?7il*P#XWaU~+v1wp4Q}I(lJD?4r2E z@d=6Qo_Y<`aiGqH=X*V1%NJX=)Wu3&u+@i_`rv+Hk{4Ij#qzfC!nTuX9C_3EI*`3S zfu2h7=uOLr_sKmgl|3nqC*M!L^2X?qsQj*MJ0T1H|Nm$O`Yp1#yhz@x&&_!|A!l2e QLZ7-Nq2g9~^HVqf7bR literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Summary.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust/me-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|T6Jgu#9YLUYf6(EOzkS~wa2 D;SLE2 literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Data.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..32bfc39722ba99d291b679be691675862b2e25aa GIT binary patch literal 5258 zcmd6r|8o@O9mjW*Y(fs`Lfcpf*e5d4Axy`;TrSB4<@Q1yMie31p(S=4%$FnIIFh?d za+e!OPKGZ*t;Cd?fE^9QG>44EoTCJgsxF69#5+`SQQAh)x_k-N)H)O#l4dr_+G|}`w zrFDe&?v}Z|=baFb=F8MOu))dw`LZlD-({N+L~T-hyG4qQLy!~{QdbZ3=4C;8X9%74 zgIv-H!BYp(S!i~SJcG_6!?{1)2@j90u5*F8xF|U+#$8-&O&P@RavVyIoZ=FsM;s6o zkCosAdebK}F}6O(CHRSLm6jPylVt1j$+`95pchVfe{)Q*bG_MwHbkk{S=C$4sy~*ps&6?aXx9>yURyvHbu>4b;qN=?swN$SH<|9_SZlO7*_#{>pi+LS zW$Ywx1=;2kZH$smhh5pm)JJRCVaGy@lbj7jVb$bpHK%sF)YCK~!q%_SBGD_-%bT2n zUwl9dI0fld7Y0f&FjGd^jsAD$6%LR-?kLf5ws8BEcA&$_^)H_lC=WUKUh#D-G2ieo ziNOU^O$^#I!<7kmGn^+F>y>3H|6hkqJQCf0&rdXF}$ zhTXsBV3COCyVPQ^83_G+Eo=a>UCPvlP6=D2FTnxTU?s2jM-;zVj6wTL$s{oNEsw!M zv-1|7XHsN1!6e6dJlCYyY!&cq6Nh2NK{F3SP<+VMD}JJ9unyz%J83Z(O%fSj*hJ5* zOp8H8x;R7UXHy-6a(tl=M+(z205Xdbk!)RDimgd`cb-Y+-Y{fDT7KE2rdaihaaLJ} zDEsQL5y{?5Q&iy}lw%jaq&XHO+Yhmw9nYYOQTQQYR~g&*kb_kZLuu5rkC1iWcf*e9 zgRZlLp}y#9!xxNG`qczQUvKK-r{Uq!P zv7O4$herBeLM%wZuT%B@$lf8iFks6<$s|%;0$G8vLbLG|xJm$i!-%~P-@st8**QRw znkT~~6}(^L15@A<=No~e02bW->N%m7H{MhahX#CTngu>0y%EI`RNf=f&_PuCDSJC? zQaf37vW`_}Ow`34Y};RROlp~l_3=!aoyvMdYQJDc{oD-O_xuDZ74?YpL5yvih%kyw zW=8x{Gzs@)H;c>VHpVJ_Qo*XL51UZGW~J$=w|qp}Icz5V8h~dk*UVx@k*~I&h22+4 zkC5xD5(d8H`pEAX^*_0sQA#YgCAkC2sW8zWFeoQd5374g$&N^S`ZUg~)r*-28QvGZvOoTY*rYQB|cHmXX#pnx7IK9#zfxeeo zk#wI%dO-(-De39}3c~Q0# zMYUiP4cHSaDP#uh2`6x7z|O(*R;uSiV_n>2W_|TNIHJz_nmMR+*4J2Awbpe1Jx00H zosXNidpyDR+jx{!v~(u{S{_D!4&UW|F-E_QwurJ|CEsey z+dF^_%KW@6V*R%V2VO^WFls+%WP#B!go+e0UMvHYEsG4`I$ zxA>)(4eOFJ`m5QkuInS6IUILf|MJEk(%c&1V@s!I#r++%&*8U-K?*WuA!nQtR(KY_ zbd@~Ok>=)QK~4-t5%8i6-mSZ}dTuhMVOkFuJKp#^u^jwz36=sJU6S6a QlZA#d{7sL~9t)iLKl@3sJpcdz literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Digest.crc32 b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Digest.crc32 new file mode 100644 index 0000000000..368bee2ce4 --- /dev/null +++ b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Digest.crc32 @@ -0,0 +1 @@ +1309320020 \ No newline at end of file diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Filter.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Index.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..0652ab24be137e6a5fbbe5b9610e2a300447dadb GIT binary patch literal 157553 zcmeI*L2F!99ER~T#J04l7IY`#&b7(Rv`x2e-PV=hR=QIVH$rsb7tqqrpcFUhTIn4X z_X^DiaG^*)fQXiH&Pk_tkU*NGOzvxct}a>B>FqtwdH(OYnYWC#O83c2S3aH3=bx2> z|6Y8de7?7}wLP9puU@;pbHkN;;5o1shRuTowC-(hV-;3m6;=(KRXwGy%=WL8hOTk{ zLsuXMVjwnbh&5_m#VV}ADy$kdt9nY^xiH(ma9~{5`k%T&F%(0wVN; zQ!&SLcQFiEO(a{AEyVA7P+uy8T%C%=hZ@t{8SzXqgg03$#Eh23p_+KySY49REtfyC>P}lQ!ddw<)U1aD@VC* zUs|3ks>P;Ul#6mjDVJJo&;l*c%7Iq*^`&LVr4}2!zze)`;8o8R)ncO-YN1vRwYu*v zE<-N0*x&_T;FSZfrd*27oGUt4bgr0luJ}u@T)t2cyub^*V&JtPIa$c3~HG<*=&?mnqSdXi79C#!QLbKj&u;M<=Ys9)ExNFSXb_ji>Rn98Wv! zlh*S|wb)38WJq=xABOoewb-Uj)23-NX4>pA+Js9jHh$q3e#P)hEw&NSh-gIYJtpU> z8JF`(#>Kc8SB!C~#b#WLi*e<6R{u$>ajC_|FZ{xCr+-SefXEw(AqlxRwPHWS=>|CD;J=uIxh#kd$(j&Z5QMl8fatQcbTQdfm5GMwxG3a)ni z3)+C5qYda(wb+v%UfETPEg}<er$AtZAv5kmEL?dFN-!MjbHeMUpf3z zi;Y-_g;+Vn>OX1CxW;O+Wn3~Y8COikr54+AwOnJCYp)xw9ybPUxf4gd@a7J=LxP2& z1Pf}hJ&Qwm7VQjnhU2Wp8gfn4Vhg!U&8Fsfc!f*_a zVYpgs%hhs?S+11pKgy*R`#7#qdil_F3w#am%>n`8#Pu z(IPJAlZ=aTF|HWnQj2ZJJL!(c7y05@uAXXKYO&AqUjP9R!1H&!{ZlQrC+2uh49cSH zFxE^nF16S)E*Y1MD<8!#P8P4^81y`#E?QXam|M%_q6t&p@0?KLhy#N3J literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Statistics.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..778011f14d11051e9f4b36f347e636f180a1c13e GIT binary patch literal 7151 zcmeI%drTBZ7y$5@-8K?qTii4x8Zl+{hF3asvCRU{l^il6p397rQ{H!{HeB4W{baXZvW)(CopsW})@V zG4;S$zaI14`*RNDJd^V* z&ht1&a*pAg#5s-g8qQldJD)8qhalK_8|OZ3$~_Odl#5$9cVP=NIPb+4x$BD!IIhaY zR>xwyEyH%_#_KVP<6b@3K6dPB`>?ggv4hrQhxB5<5rsYf7`84CJN_tk@)hjN>Db0# z?6TF^RT6d+H-CE!IBpM{^u#)%VNX$<=H*}?#q*Qe@1eMmjn}jAEw-5VJ!-E~;rXw+ zdlSXgUsof$J!wYv$aWxmj?2j2;{nJT6P}O$hKDE~*b#(0^FavmtiCMddAITNjvU6% zJGSO3YQJpYSLAnA;Qp-(v7-3a-?hjeWwapIk0cgD$wwx{~k1IT;k zoBhvB?w0Rpp+`q17Av(0JWSippW!z1=zl?P*v! z2<;u#iPn>Ep7sum`-$n@&;jugXg<%-j2wpX(9@qhf}XP^trdE~k86{lqwW-*g-$en z*a&U-IeIO0*0Jqz&;=2f-iF@s!q)~}{Z(@+^y%#SxzM-jDi1;rUF=;6Oc(m*cR&}U zq`>u0n=>!F*1xkEb$qIU>tB$q555537Y5EOuK*S;)LILy3csyQhaMi@4WEzt&zeK< z{o%eSz_tRk_ozExaRJyX2lHE|gw=TdSmFrlcDbG3roL0+$%i2 zy&xp0HiD?HRcPvW8DAb78W!zgzmGVpYi#<1wtKcCK698&uFt@cs?JA8zZDa^ByMSZ zLZWh}+yiAEC~M)ry&tgci)~xVW~FS{%1cXmalbani!1A5dE3jvj+1E|*-*?rVLzWh zPo;SDmSx2I-2Qjv{V9#-HYeYBbL@DOv1`;w$ijdAKU%(SyJRjal(y+|b5@1b( PE4L(6+#zjy<>r3@_!O6> literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Summary.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_compact/me-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|wJiwF literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Data.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..7971ad36652ad009d6f26ed52a9e128289aafeb3 GIT binary patch literal 4529 zcma)Ee)WiUq2oABxWJDaBiY>`V z>d0!CfEj=12Ww5OAna-~39ivJG?Rwiw{6wQ50YUr*g9r+O*6)3TCkZKs`mAq`}XZS zZ`(ig5617g-+S-b`_AW{_c)H{4spD#M^O|X{9oaUx!#b?W_LJU74Aw;RW=7B%E0yP z5`p6ubG(oHxNCOaslG=y^gVp^RC{gofk_jDv$$56c-sD@3GG8Y<-M1=@!F1rX}%P) zziVb|WCl!I%6b!A-$V?;r|t2SH^z;x@FYwH7RQ1)LUKn~BEgNX%7U=yoMP4iSbY3<_YYc0Z^Up%WP z4)XqU25Aei6WnA~SO4559WRNQEW$=L&|20T)MDR>?zfX6|-5Zy6>(TX(hE(Abyr+Hr-#As!j_odw!^`v?Cv1c1A zRg`_g&*ngSn8Km8P~?)smgfCc342s3jzOueDvp^~AHV~qW#-KFFkkZCR z;y9+Mljo^=3o1Y#3mvBF>`to2fHvLvK_f#^Tl5db1jV4VY$40esSTgcqH{l*MipQj z2BnE9IyN~@)znF*1*GumL=#Zd!6+K8hq`Tw zV?afb1zKVlXxAOBUt&N-bGQ|zY+S#=n)fn*=jZ|Ke0_hd$F^7cI6^pt5Jrk-0Ybk0 znn1f$WT~0uQo@XQ`9~IgGFl*%GFF4$$nqIDqomAfU|lpbUi1osm9A|Cy9sKfK*%n7URc2=)9A&=6I6Y1 zfGF|LSKiRC0P*sbH-ICR#GvHZIg$e{TPHE%UR!4%F;d-(0iDFikDBTVgd~W-Zlv~E zZ$5J9?14h@$$$AD4!^c{S<_z@<=hgAVJl#Gt&p9JJ;9hj#^w3<;19`O4GSv)uWbF^ zAn%PCWbrwagVjoP1AFyddF6H%qZZ$R8MGDby>zJxu3UWKPQZ2VLpB~0p2|>ak&VS6 z*hQ>-kymPkClHOtFj{gLqnJZcr>5s3@5*#7F+4qb*{+d;hb|DN7>?Q1sFr_s}`K=CmL4+FUu4g?| zjTI9melYn0S#*37-zbx<(HpsaER9H+U+}nrNO{h^7)TO{n3$W7=U51m^4+&qF(h3* zP!GNZA5$b-p*70q9(lb$)V|)fl*6m9{Es!Au&Uk`<&R1R!IPvBK$rjdZ4(4k8iV4E zo8=bx0@UQqTL!7zW)f(Ge*r0)@t<-_vZoeyev+wFA%2R|BIUsqf&fCR1CP+2p?L5O zIq%;pfWOq|BY^V6fh2&$&j5^C;`m6_m(YMWT67Ae=!C7b{SmuglDF|0LmJFe2PpH3Kf>;$Y+AB}L6O|3Wb*fmHeZ||ha*NjTz zG1^PH7yDZVbjqYXxit6va0#T&Pkh-=AwS~ZOL&woEu%alZI@QWQ=g5jOMPX<0O9c} W)Q*A2zuj6TG;q+2_@#@6%Ki&HSh(f@ literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Digest.crc32 b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Digest.crc32 new file mode 100644 index 0000000000..15b0625da6 --- /dev/null +++ b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Digest.crc32 @@ -0,0 +1 @@ +703648555 \ No newline at end of file diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Filter.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Index.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..a8fdb3cb11064754fb053a6a0547390b65fdb58f GIT binary patch literal 157553 zcmeI*F^F7M9EI^4w6V~Doe~5HS$Na1wTg1uByWjo(=f0g&4y}~# z<7W(#vBgs5!p%!YzQ0w|v(~Un{#x)vC zwj^7UEy>ofldYao&A24hnsK2PYM~Zt#Zap|e`0>FIG%{ML|dXQ(blk|t)5a%xkU4n zi*iw}9Ob(3-TYi}yw=0a75O4xmoj7u%HInkVGPK=ooyYr{!=Zb2v zDHr9UTw%&3nx|Zpi*n^C*M%GNb49h-l#6mvt|;YFiw#Mp-F54qH0gBN&# zR}Q@DxuRNZ)Iu%P%ArrfD-~+Uzmfgi9?p ze&H8>#qdilwh_^YXhiHiCg-Xdm-9)+#kd$(jB%;OW?YPmapibc|4FNHsl~=G{KBuE z3PZnAi;Y-_g;+!9)OMe*8JAjY8JCPp#ubxssl~QjE!UXkx}A7DzCWwVr54-BXk;`p z=1@>AHew+bV&xF4|D?^h)M5*{OwFd|n5kJUw&iNM#w^!fH(afqY|5n;n{r_|hQ~0x zQ;RL-l5$D85*2QyTxzl53%=kh2VZKj4M+y0m;osVEX(+$HRMu@O}Qu+!|+Zmwkgq+Xi9uE6WntDlzOh{O)kd8xENQCajC^d zEW|>r7-IEOSA{Dwoa_GzuGahu+JGLT4QOAr*y9_&oKuS}A`_8`$gX9MlvKr zvK*4B#Wt%vMzc!J!t_aZ%2Aqdsl~=G{1W!Zg#BuBVwZ8HRE!+#kd$3QTw|7N zuN$s58-rHdiJe|}bBEj^!NO321-00o#i2Zlb_P4cZdPLrxyEX-gKc8SLD|$)R0Rp_VPCkszOyfb$fjqM=dtxqFj_KSGm+;J6FVT43A;BT5QYJa*bK8 z@`c5GVU}{K#TGa0HEyt&78jGdv7Ecnsl_%Ul1|bYD4kWfBEvbG+j2HH_t||O+CZ|e zTI|WqAHP(KJ+yyPn1LD3|J@RV_At z;TL|z@JlWBLF%q?%edwF+iOJ8A};5XjEiwGt{CG|i*3i->yF14`QkyYo@!ibu@CZJ z009ud^S8VGQ!Tb9W_M2v%A)Kr)=V=lwb(K)8JCPJCgW0zZMj;mG0TZ|8*uxmu?WK!*sk`BB?7S|UajC^-T#Sox%xuc#@z?XrF#Rszze)$;5Ab&wb;Y3Uvro_%#-*q??kJ` z<`^6!#xZPciyK=Fxzu9Y=pJUHvvL+!j=OPicS9{U<)U1aEApGInsSNeMe`Vr;V}$X zi*31Dt})BibhU$ literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Statistics.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..79d9233925221b6abc704273384cd6e373242074 GIT binary patch literal 7160 zcmeI%e@q)y902h5?pl6Rp)fWeL*2klqJ_a2kg(O!PC!jSehB_pFw-IC2$WoJvW=5-%A#8+tH)!~NpC%gra`9gB za`)-?^?L8_y?5VS2_YIXSCZuomFq^ia&p}+SDuhW3rVv{n+!seP+KP&Y6ZJpuv#R+ zV5xH$^0zs}V#y*(qNPNT9QBTRn^lyIEzRE+9FKiYK0u=1@1Ko~r`q;wyQpjO&WZjW zuJ64Wt!HK|N)C6(RVm8v!opfPA6Vq`LM70Lz=ztv&iporaWLZ$#$k*j80#2EGmd4v zgz-|w%NeIK&S0F!xRCK?kz0)A>{pj#%^rN+z+~ji8~md!R8h--iggK$L9~= zxTXSIn~5E?7CV^fZ^%s?4;#Ub@L}Jv3tN8}JMIbWgi-9f(y;G2gl(w8&OV5pe;T`F z5q5Pvw*67;Rsp-48NVZD9QP&7du|@lq+d~-R+VEP#N(6tzCdxV49{oo6KuZfGt^$A z!Q)?Z`8TIx8ZF&&D9@EO_OhK>YXqiJm8&# z4mEF>fDTU@Lh~uIN`DE)qxhm>=$PyjG@cjhreA~c#G|iVg}!@rVITC0FDvt)(=OE= zht92jz6;v?b$TUq>7m9f=-QNb9)R9@BXS(N?Zch|=%Zzw%b+iGw7d*G`S$1rV7fB0 zW)Qm8WP8mm_ zS7)us&dF8x)N7!Q19dL^x7P!C`I46{b+J+xZ1tg~KDck2_+5ReyJ2lWmLDAxb7&! literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Summary.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter/me-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|wetw* literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Data.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..2c78db623313288ce43e1f741822844073f47ada GIT binary patch literal 4532 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 R8nnCNZv5Z3<2}@3{|j{bBZ2?` literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Statistics.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..952db1ed939a8cfc8d5791e7f5239a11c92acc7c GIT binary patch literal 7160 zcmeI%e@v8R902h5dEYyJb8!cvz@$=8V|gHmz=mFOXF$1u{7A}Nyl`)VgFE(e8j_7> zI5$>^EF(5VtBpByqM!+6)KWoHQ&|&j;b^<4+3Lz6fikY=6>faLPi?jS%Jn|mv-kbn z_qq4p=Y5~&dB1y)<2VgBQ=;gG(7Kscp4OeT3LF<<*xpQkeIDSr-vD-i3;VI%*oH&cp)X;F4`M$Ni@oF^wy^*^=>T@x8SLzN z*o9%(l^d|@MC>+Z{0>-f+!Zugoe*h`_&`gBR{tmpWln&P88qzvjO?dtPbSn$zaUl*vMD>?Oy2dQ-kY($+Ezr z9_V7T8P0#wo_*Rg|CMIM{jLtqe_nFl{serVA33_F8dz`;XCtsC>Z&0VdSYTHyg%CC z8}`HJhxb##qiaEXpQaPlCxQL4KIoT$174~B1@>QeOMeIUUw=KL%K+NX6YDDA^C0Z7 zsn-bNkrzh|@P0+zP0y?Y@u%}$(J&uKO!%o^2jZroA9`N{UfH?z7Id@famKx8#9EQaXKuasVAq^E&$;0>_|G{Q z55A-9{$FygnP(oy#WVd!bDYN1oC{qbHRnQ?gZtMx*UVwmoJ-BQz9&^*+aiHb!&W&#QIKH5m`LEiExM^!$l$@gOsn%_Tw))UgAKZ^j^5V(5Xx{d)(Cus*#}z8C z)9C9H=(!Y+TyaeLAK&x5w8z|f{MEE`%cl;-7WTR6>w;x}{Xbffv0RiZOT;o`e%`am jc{?g3@{e0`MA$Btt@yhGo9)|d4oNoK%eIxe literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Summary.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_clust_counter_compact/me-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|z`!txfzhD;|Ns9D42%pv*;M%X892Dp^79pv5{rPiijjfQP?5n`kpE!0GJ~{{ lGK0;b*a|lWX=5Pku*wFYn29oj=@E7ZWrhH-`m;Ib#=n=Iv2mkDED`haB~6}KS}GP9jH1SnZ_>nX zGfAmNgJhHpX`<0oU@9msl8m~FvcHl}1Z*cam}0lv$9;oYq2|SIwtD#Up|)o3^u;lu zf2_}sgzHFlB*$}MqU~r8Or%{X$$gMN6yytM=|!LTq=czaDRJ+^ZYg$AkE_8{cR4?~cr_NF6Gzk|m+as-ceRP|+4 ze_{V)_cVXO*Pw9g8j|oTfd6IIp9>%A%{4fap<=4rlp=bWFDi&IMH~$3mf}C#~q4oFY zu7XZKR2U7N7k+LL^p@AY1JG61o0FhhG7e0GzExN8J@oL|oU z?L1untbLynu76IlKD+?F&-EXVD+A_DthEMM5q3wN0zERa1CEdIs=5~LAMUgK2Nr|+ z9(AY6&H#I*9_cay`+QUN6!u^Fr)m)PUv)3JO%3V?ij^gBKL|di>(GFB=r03mI9_2d zl2R%`e0G*C9G(ZFqyFhqg1D~tNyk>;N?3 zI-7tm{rFQWY_IidWKYaQoK=5!b1WV>Wz)+ycx<~%8El1~FAvVaLeW;W-Zc;iQz-U*K%48#lo_IKW%QWhJa?dhp zPeS9#4e{6Jj2+hIbOe&aNW_2t!;`Bi6pf|%;$}@&=92lD+e##IYkrHk`IGCv1)uMj AD*ylh literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Summary.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple/me-1-big-Summary.db new file mode 100644 index 0000000000000000000000000000000000000000..9b24e0450c732103bdd22afb63db34808745ed6f GIT binary patch literal 47 jcmZQzU}#`qU|xS|Eg literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Data.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Data.db new file mode 100644 index 0000000000000000000000000000000000000000..fb4d64d79a6058874bf3655ea4f922962016394d GIT binary patch literal 90 zcmdnQz`!txfzhD;|Ns9D42%rF*cUMJ1I4)0^79pv5{rPiijjfQP>CU1kb&XAc}^7u mStAt&>w{Gkxmq3WJ=93WLi0`zj0pU=6Da^cw(VG#FL@ literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Digest.crc32 b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Digest.crc32 new file mode 100644 index 0000000000..0f802034f3 --- /dev/null +++ b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Digest.crc32 @@ -0,0 +1 @@ +2684888693 \ No newline at end of file diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Filter.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Index.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_compact/me-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..56f29df1cb9be118b9993063de9405194522e236 GIT binary patch literal 26 dcmZQzG+UO~QW)|V7NNIV|2Rr!K(4u@mdKZJ;tuXd91{?Gav>-kgXhs2(t zt^g%mrDSJvJ{Km|&i25hvd#^v$2f`cGREr|JLeXrJrK%uBjZkN!psNxf{9xhw_@{S81KLqnC};Aa9ovv zEkwd{p{GIc4BJ}UvwqtRIBpL^CSfnJGt;s6;q^)EcTt>AqwDICkUd`1BYUMekiCaxWZ&UHWVH#eM~&eziU&0ZBaiJ4MIPUoiahxSp6|#3Jm1mf z7f}6qJr9u=Ex_$t5o$y6_0P1(-z7I7R}aoXZn})er>hB#C-Dh*4eJwq;t$B%Cmlil z)Tpr z!@Zfyp;Py7jDgOH_~lFJ&2RmCq06q+Cqf@htDXdXt*Ycl=>DHO76OxL{@KmYISC1H z|C9QZGjRVC$8I&;|GaGLJ_|n2_Z*vF3@liQtrA!jenV@79vIjL=SO@~z6ZWPJf{ct zE&%nts!kT42KGrl*k%UyTT}KN_Fw&%<_YY-=2lXp7Statl@`MHLC6t(iw?xYe(Tl3 z`3irPXeF@+T%*heda;~<>PeQ|F&F1Rv+ z6E7C4t1T7(mNkKe+m-)EoS6=dzWZs{)`m@X#U^_1|4RDeR!Y|cIO83qvhpH_9(g#q zW*ziBv1_rsE1~wp+W5;eh7Lq!wfN)&FP4)0!WyH z!IP1J(a?$^UyGmNV78|XgQ$#=4TJrmz=I&BF_3v!;wO+PYhuHo|GU$MfiHl8fq{|n I)AfV90gZhgF#rGn literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Digest.crc32 b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Digest.crc32 new file mode 100644 index 0000000000..f7b61bf995 --- /dev/null +++ b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Digest.crc32 @@ -0,0 +1 @@ +3429587850 \ No newline at end of file diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Filter.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Index.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..59e65cab85e287ef068ea9b6ef8bea46f0d1664b GIT binary patch literal 27 ecmZQzG+5=Lb}!nk1*kThv{#{d8(*aT1j literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Statistics.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter/me-1-big-Statistics.db new file mode 100644 index 0000000000000000000000000000000000000000..849116bf0b23ce790c712745d1174c0e15b85048 GIT binary patch literal 4713 zcmeI$i%(Nm7y$75=;ckN1yL~KRPaG&!6AYPTBTJ$O<+7Gn;N;$JHbFpE>)3fG>S1H z29e;<1o4#+gGL;<2~6D*6r68~5w{G3Nr%Q|Rt+L3p`L1Q_`Z`F{{VZElXHLfJH0*6 z-jgy6qhda!a8j@&uO*oyc`M00!)QjCD2u#aCl-r&`I0VAEGZGqCRx;(@~yhWEmkR2 zHc7H%N)u&kfwjP5mSlZ-*`uU0K|hcOOma9Jqy8bRQ2lZ@TQxXkprw&(zBnTEjr0bP za4pHsnc1p}d~5b8cZe070%>DEDBq)O@h>skoK$C2Vd2<(=3(^?be#$5mO_LJYRY zLTpc}zg}-~+@}lM&yGEAH@5aDcJO!Dq21VDL}AZ3g00KOjysH6c1_(MxOXE6nSz_I`Z_}c)lZt@O;Nq{f6o< z?E43K`4Zf|Z$oV;zTrPD@{ZId-E!?>!{dl9s-rU&)c!%|QR4Xl9i$Lpnf_nHMj88hX|0(p;dCAStGasxEfaihOn14IfAg=Fu+`bujWnI&0*q+t)1+j2Fo70UARiJ)(ZfjQ`aQ)xC z7aD*s9Y4_o+iUBH?2a3Yv)WxZMiPNjHoSVfbIgp=Hsv>1aK#iWRXOFtRer8#E@c?d z9w#^5XD(%A-k0t(7a9)6eda>r;XZS@&s<G}dD<^icpUgXeYU(VjN4*QeOT}6;E z2ZI+Q1EZleL%tRR!-4Z0whW@OMz#$02g{j2Ok*JP5O*PvDQ9BKpg;SkEdyTw&_G7U ILjL)T0G%uwga7~l literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Digest.crc32 b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Digest.crc32 new file mode 100644 index 0000000000..c298142400 --- /dev/null +++ b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Digest.crc32 @@ -0,0 +1 @@ +2519481430 \ No newline at end of file diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Filter.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Filter.db new file mode 100644 index 0000000000000000000000000000000000000000..2e1d5d29ca0683d58365c1bda385a89ced35f1f9 GIT binary patch literal 24 fcmZQzU|?lnU|?ckVPs%abZX%^z`&xww2T1&5k3Nr literal 0 HcmV?d00001 diff --git a/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Index.db b/test/data/legacy-sstables/me/legacy_tables/legacy_me_simple_counter_compact/me-1-big-Index.db new file mode 100644 index 0000000000000000000000000000000000000000..d094f73e2135ffcf478c5bda9adef5a7c030292b GIT binary patch literal 27 ecmZQzG+muWaTT_}TwiFy zaZMh!n27DS0^6VIZ@^<559-GbabZ8R8(V)EJMt~;=mG5K60jE@!Zze%Cm+O4J&&C= z3%ei+yJ8)7jfCC8tlxe!j=N%zNz6U${9NpVbbU^rCaxPO&gal|JAIn}7F)>w9@W=q z@cP$Wzl`GI#ad*)yRFCpId0^@DH%C znpclP2gh`y=P5K_e+|aNgp5Au@Z>nOo@Z+(K85kQZJ*qMe*Ts8)6k24+>ipDaIN?R z^zwoanxV}b=lopAW1CCW}K0 zyP%6qCiwi5)~vJe`6upuTKN3)vh(IS@Oysv_{vIP!A_j@z?#^r`V8pt@ttsf#D{hJ z;rGM;h47J8pngEZsme3JL77MT6yT6|YX5@$*Z!ot1N*PLp5CDc^=C;nz5YCwERo+}RS2a*#1=+lC@aqw36cHlRf+KQ@(b_74L$|2lNO1-R$vXYH`P&I|Da$un`H|LF2$DsaY@2al^}%+a>dcd+Pz<1a1A4~QlfFF{9hoPkZ_kB>gY)gV(0KUvT)sUQSP)Owo{Km}Qyy_#WPKbb zeqE_;-0pZ%Hif^pOZ|Vulj+bHZ#4G)(pKf!k6Y-ue=F&STP?je;PR@~%Ib$4dgkWj zihUyZ " + versions[newIdx], e)); + } + } + } + if (t != null) + { + throw t; + } } @Test - public void testMaReadMb() throws IOException + public void testJVersions() throws Throwable { - testOldReadsNew("ma", "mb"); + testVersions("jb"); } @Test - public void testMaReadMc() throws IOException + public void testKVersions() throws Throwable { - testOldReadsNew("ma", "mc"); + testVersions("ka"); } @Test - public void testMbReadMc() throws IOException + public void testLVersions() throws Throwable { - testOldReadsNew("mb", "mc"); + testVersions("la", "lb"); + } + + @Test + public void testMVersions() throws Throwable + { + testVersions("ma", "mb", "mc", "md", "me"); } public void testOldReadsNew(String oldV, String newV) throws IOException @@ -175,4 +200,11 @@ public class MetadataSerializerTest } } } + + @Test + public void originatingHostCompatibility() + { + Arrays.asList("ma", "mb", "mc", "md").forEach(v -> assertFalse(BigFormat.instance.getVersion(v).hasOriginatingHostId())); + Arrays.asList("me").forEach(v -> assertTrue(BigFormat.instance.getVersion(v).hasOriginatingHostId())); + } }