From 912fdb3ea4ff58ae9e1fe0c9b230ec76273ff601 Mon Sep 17 00:00:00 2001 From: Aleksey Yeschenko Date: Fri, 13 Oct 2017 14:26:02 +0100 Subject: [PATCH] Switch to CRC32 for sstable metadata checksums patch by Aleksey Yeschenko; reviewed by Marcus Eriksson for CASSANDRA-13953 --- CHANGES.txt | 2 +- .../sstable/metadata/MetadataSerializer.java | 157 +++++++++++------- .../na-1-big-CompressionInfo.db | Bin 87 -> 87 bytes .../legacy_na_clust/na-1-big-Data.db | Bin 5256 -> 5215 bytes .../legacy_na_clust/na-1-big-Digest.crc32 | 2 +- .../legacy_na_clust/na-1-big-Index.db | Bin 157553 -> 157553 bytes .../legacy_na_clust/na-1-big-Statistics.db | Bin 7103 -> 7095 bytes .../legacy_na_clust/na-1-big-TOC.txt | 10 +- .../na-1-big-CompressionInfo.db | Bin 87 -> 87 bytes .../legacy_na_clust_compact/na-1-big-Data.db | Bin 5286 -> 5261 bytes .../na-1-big-Digest.crc32 | 2 +- .../legacy_na_clust_compact/na-1-big-Index.db | Bin 157553 -> 157553 bytes .../na-1-big-Statistics.db | Bin 7103 -> 7095 bytes .../legacy_na_clust_compact/na-1-big-TOC.txt | 10 +- .../na-1-big-CompressionInfo.db | Bin 79 -> 79 bytes .../legacy_na_clust_counter/na-1-big-Data.db | Bin 5797 -> 5781 bytes .../na-1-big-Digest.crc32 | 2 +- .../legacy_na_clust_counter/na-1-big-Index.db | Bin 157553 -> 157553 bytes .../na-1-big-Statistics.db | Bin 7112 -> 7104 bytes .../legacy_na_clust_counter/na-1-big-TOC.txt | 10 +- .../na-1-big-CompressionInfo.db | Bin 79 -> 79 bytes .../na-1-big-Data.db | Bin 5817 -> 5545 bytes .../na-1-big-Digest.crc32 | 2 +- .../na-1-big-Index.db | Bin 157553 -> 157553 bytes .../na-1-big-Statistics.db | Bin 7112 -> 7104 bytes .../na-1-big-TOC.txt | 10 +- .../legacy_na_simple/na-1-big-Data.db | Bin 88 -> 89 bytes .../legacy_na_simple/na-1-big-Digest.crc32 | 2 +- .../legacy_na_simple/na-1-big-Statistics.db | Bin 4656 -> 4648 bytes .../legacy_na_simple/na-1-big-TOC.txt | 10 +- .../legacy_na_simple_compact/na-1-big-Data.db | Bin 91 -> 90 bytes .../na-1-big-Digest.crc32 | 2 +- .../na-1-big-Statistics.db | Bin 4697 -> 4689 bytes .../legacy_na_simple_compact/na-1-big-TOC.txt | 10 +- .../legacy_na_simple_counter/na-1-big-Data.db | Bin 139 -> 146 bytes .../na-1-big-Digest.crc32 | 2 +- .../na-1-big-Statistics.db | Bin 4665 -> 4657 bytes .../legacy_na_simple_counter/na-1-big-TOC.txt | 10 +- .../na-1-big-Data.db | Bin 142 -> 148 bytes .../na-1-big-Digest.crc32 | 2 +- .../na-1-big-Statistics.db | Bin 4706 -> 4698 bytes .../na-1-big-TOC.txt | 10 +- .../metadata/MetadataSerializerTest.java | 33 +++- 43 files changed, 170 insertions(+), 118 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 0efa8b91d4..bea407e08e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,7 @@ 4.0 + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) - * Checksum sstable metadata (CASSANDRA-13321) * Expose recent histograms in JmxHistograms (CASSANDRA-13642) * Fix buffer length comparison when decompressing in netty-based streaming (CASSANDRA-13899) * Properly close StreamCompressionInputStream to release any ByteBuf (CASSANDRA-13906) diff --git a/src/java/org/apache/cassandra/io/sstable/metadata/MetadataSerializer.java b/src/java/org/apache/cassandra/io/sstable/metadata/MetadataSerializer.java index f17157cb13..9499ff3fe2 100644 --- a/src/java/org/apache/cassandra/io/sstable/metadata/MetadataSerializer.java +++ b/src/java/org/apache/cassandra/io/sstable/metadata/MetadataSerializer.java @@ -19,11 +19,9 @@ package org.apache.cassandra.io.sstable.metadata; import java.io.*; import java.util.*; +import java.util.zip.CRC32; import com.google.common.collect.Lists; -import com.google.common.hash.HashFunction; -import com.google.common.hash.Hasher; -import com.google.common.hash.Hashing; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,11 +39,13 @@ import org.apache.cassandra.io.util.BufferedDataOutputStreamPlus; import org.apache.cassandra.io.util.RandomAccessReader; import org.apache.cassandra.utils.FBUtilities; +import static org.apache.cassandra.utils.FBUtilities.updateChecksumInt; + /** - * Metadata serializer for SSTables {@code version >= 'k'}. + * Metadata serializer for SSTables {@code version >= 'na'}. * *
- * File format := | number of components (4 bytes) | toc | component1 | c1 hash | component2 | c2 hash | ... |
+ * File format := | number of components (4 bytes) | crc | toc | crc | component1 | c1 crc | component2 | c2 crc | ... |
  * toc         := | component type (4 bytes) | position of component |
  * 
* @@ -54,31 +54,40 @@ import org.apache.cassandra.utils.FBUtilities; public class MetadataSerializer implements IMetadataSerializer { private static final Logger logger = LoggerFactory.getLogger(MetadataSerializer.class); - private static final HashFunction hashFunction = Hashing.md5(); + + private static final int CHECKSUM_LENGTH = 4; // CRC32 public void serialize(Map components, DataOutputPlus out, Version version) throws IOException { boolean checksum = version.hasMetadataChecksum(); + CRC32 crc = new CRC32(); // sort components by type List sortedComponents = Lists.newArrayList(components.values()); Collections.sort(sortedComponents); // write number of component out.writeInt(components.size()); + updateChecksumInt(crc, components.size()); + maybeWriteChecksum(crc, out, version); + // build and write toc - int lastPosition = 4 + (8 * sortedComponents.size()); + int lastPosition = 4 + (8 * sortedComponents.size()) + (checksum ? 2 * CHECKSUM_LENGTH : 0); Map sizes = new EnumMap<>(MetadataType.class); for (MetadataComponent component : sortedComponents) { MetadataType type = component.getType(); // serialize type out.writeInt(type.ordinal()); + updateChecksumInt(crc, type.ordinal()); // serialize position out.writeInt(lastPosition); + updateChecksumInt(crc, lastPosition); int size = type.serializer.serializedSize(version, component); - lastPosition += size + (checksum ? 8 : 0); // checksum is long + lastPosition += size + (checksum ? CHECKSUM_LENGTH : 0); sizes.put(type, size); } + maybeWriteChecksum(crc, out, version); + // serialize components for (MetadataComponent component : sortedComponents) { @@ -89,11 +98,18 @@ public class MetadataSerializer implements IMetadataSerializer bytes = dob.getData(); } out.write(bytes); - if (checksum) - out.writeLong(hashFunction.hashBytes(bytes).asLong()); + + crc.reset(); crc.update(bytes); + maybeWriteChecksum(crc, out, version); } } + private static void maybeWriteChecksum(CRC32 crc, DataOutputPlus out, Version version) throws IOException + { + if (version.hasMetadataChecksum()) + out.writeInt((int) crc.getValue()); + } + public Map deserialize( Descriptor descriptor, EnumSet types) throws IOException { Map components; @@ -120,66 +136,87 @@ public class MetadataSerializer implements IMetadataSerializer return deserialize(descriptor, EnumSet.of(type)).get(type); } - public Map deserialize(Descriptor descriptor, FileDataInput in, EnumSet types) throws IOException + public Map deserialize(Descriptor descriptor, + FileDataInput in, + EnumSet selectedTypes) + throws IOException { - int totalSize = (int) in.bytesRemaining(); + boolean isChecksummed = descriptor.version.hasMetadataChecksum(); + CRC32 crc = new CRC32(); + + /* + * Read TOC + */ + + int length = (int) in.bytesRemaining(); + + int count = in.readInt(); + updateChecksumInt(crc, count); + maybeValidateChecksum(crc, in, descriptor); + + int[] ordinals = new int[count]; + int[] offsets = new int[count]; + int[] lengths = new int[count]; + + for (int i = 0; i < count; i++) + { + ordinals[i] = in.readInt(); + updateChecksumInt(crc, ordinals[i]); + + offsets[i] = in.readInt(); + updateChecksumInt(crc, offsets[i]); + } + maybeValidateChecksum(crc, in, descriptor); + + lengths[count - 1] = length - offsets[count - 1]; + for (int i = 0; i < count - 1; i++) + lengths[i] = offsets[i + 1] - offsets[i]; + + /* + * Read components + */ + + MetadataType[] allMetadataTypes = MetadataType.values(); + Map components = new EnumMap<>(MetadataType.class); - // read number of components - int numComponents = in.readInt(); - // read toc - Map toc = new EnumMap<>(MetadataType.class); - MetadataType[] values = MetadataType.values(); - Map lengths = new EnumMap<>(MetadataType.class); - int start = 0; - MetadataType lastType = null; - for (int i = 0; i < numComponents; i++) - { - int metadataTypeId = in.readInt(); - int position = in.readInt(); - toc.put(values[metadataTypeId], position); - if (lastType != null) - lengths.put(lastType, position - start); - start = position; - lastType = values[metadataTypeId]; - } - lengths.put(lastType, totalSize - start); - for (MetadataType type : types) + for (int i = 0; i < count; i++) { - Integer offset = toc.get(type); - if (offset != null) + MetadataType type = allMetadataTypes[ordinals[i]]; + + if (!selectedTypes.contains(type)) { - in.seek(offset); - - if (descriptor.version.hasMetadataChecksum()) - { - int size = lengths.get(type) - 8; // 8 bytes checksum - byte[] bytes = new byte[size]; - in.readFully(bytes); - MetadataComponent component; - try (DataInputBuffer dib = new DataInputBuffer(bytes)) - { - component = type.serializer.deserialize(descriptor.version, dib); - } - long writtenChecksum = in.readLong(); - if (writtenChecksum != hashFunction.hashBytes(bytes).asLong()) - { - String filename = descriptor.filenameFor(Component.STATS); - throw new CorruptSSTableException(new IOException("Checksums do not match for " + filename), filename); - } - components.put(type, component); - } - else - { - MetadataComponent component = type.serializer.deserialize(descriptor.version, in); - components.put(type, component); - } - + in.skipBytes(lengths[i]); + continue; } + + byte[] buffer = new byte[isChecksummed ? lengths[i] - CHECKSUM_LENGTH : lengths[i]]; + in.readFully(buffer); + + crc.reset(); crc.update(buffer); + maybeValidateChecksum(crc, in, descriptor); + + components.put(type, type.serializer.deserialize(descriptor.version, new DataInputBuffer(buffer))); } + return components; } + private static void maybeValidateChecksum(CRC32 crc, FileDataInput in, Descriptor descriptor) throws IOException + { + if (!descriptor.version.hasMetadataChecksum()) + return; + + int actualChecksum = (int) crc.getValue(); + int expectedChecksum = in.readInt(); + + if (actualChecksum != expectedChecksum) + { + String filename = descriptor.filenameFor(Component.STATS); + throw new CorruptSSTableException(new IOException("Checksums do not match for " + filename), filename); + } + } + public void mutateLevel(Descriptor descriptor, int newLevel) throws IOException { logger.trace("Mutating {} to level {}", descriptor.filenameFor(Component.STATS), newLevel); diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-CompressionInfo.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-CompressionInfo.db index c7fc204d4a7e361fc9f0cad51b96dd183916b258..935d8630bf4a994f85bf13377271e8ddc8e3da49 100644 GIT binary patch delta 58 lcmWF!pP*zqnSp_U4TzBd^Cbv}eLaNcZh+AI2@qOX2LQ9P1oHp@ delta 58 lcmWF!pP*zqk%57M4TzBd^Gyhc{Q!jKo&%xzn;^7sBmlV-1#|!a diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-Data.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-Data.db index 36f9800814667a3ed72be85384800d96de52d840..9982578898151e315a3b0c585b57fb2bbe79ece2 100644 GIT binary patch literal 5215 zcmd6r|8o>)9mn@b4w4IHgOeZ)I1e%zr4GY$xm=RN!tL48nhc@Ih&ZHJARI@&=Pn@^ zlACgO7N|!Hh@cY0Du~H~P6rZ-1x(>CxpN}67@Uq1kg-UsMLTVwmMLPx`uRM2yZh`7 ze*nK^^8P%Z=h^q}eqPV#*%JhduurhqBZ{I#;eSOa7Pb%C?In&J-!Bib9Z;s27ho( z*WSCy*WJ+E;M*K(Yz_ImjjbCS{Ovw}L#V9{>t;Gw(rIHx zrw(NMqu<}*`N3f~gojEbHFaHVhdaK@W9^>hxMCI4Hx-G-c6j1H3Pf!|Qd-Uu55Rnj z$4YRg2WMF&)}$VUZj&Z z;jTn=i2<6(buWW)UCuPiM|mkFzO+Cn)aOcx;=5=uJy%LB95YF0ADS)Ihh0(TRe6kg ztpTsUzFz>(S5NTNhHda>jKDG%E_gv?6X2bC5;eDsOUQKP1h3W{;}r1@d-b(t+EQuU zv`jb8<}*X#wL#)kUC1y38IdXp`H~F|}@}NnbJ@-17nFz1#g120R3lGrv)02%L-AwjNQhe307xYqHH$7el zdI{?HYZ0uePr*8u;vJO_2fl-gEq&sLmLuY8xV1cCk*sv9AXx*y zvXMyR$+A$S4QrND-abQk-(YKFL_2*c_=u&pzQ%8b$eOGs(Szs zeND1<(V=vLOrPtGAXSbi+X4pYh;MlvKi*_VG}Pr}(y?o8hv2T$)|Y9|I5$k6KZ9P< z$#i>+SFsLW?S*|3=-1Zm3vUjJD*6Lb;=T0|0_4nHJxyS7bHZirj5;m@a*(@1w-07_LHnWnreF3&nG zjtR;Q41aM!8hS?ro-BiYkB!*(NMq`yMZ)l^=bhD_M@RcJ`)sG$YnbBI#;9Qg}iSg(JJ9G zeQ`Ap$)4)E4&nYvZ7G@Vo5>F!^b~dLWqRZ!H$?jnq9v__Uv1>oX%~+-Jv)!1~Ex4-3E3`Rm5d7c7LmpOx`r9abD54dp$*lp^19l(6uUFy*C@}>4e{O zZ_^2v>4HA);n5FnaudnNZ|pVzr~f&N&qF0#rvHoanMydOXAVfoX&&Rz4bWsBKT4D0 z@ZXJOnw%AmfgiP>%XDE>DS#sf^z*t}cDjD@&gBRL8jjiNe$5W1UsaJFb=E#4NLRdt zEpU;TH%(cOll)bC%~fS2{?a_FH0_E z4HM@S!vscs@CQiG$ZbVnNqI(Y*I}%YJPB+e*2x}LGdkwU=xQ9-F;8yy@R-Ad*aCI; zXD51@EUGd!>s>SXW-inH*Ks)w(F0?=I&_j#~xTioSC-I!G!9Mw{F*ZO` zR%S1~&VZE4%{L9_pEtG*$S&Zelq$Fw7x62t=nJ*@6EhZ#^4X53SqF&=kX+{o%x=d?S3>uZfYv>KJhRv5MpL%r}AuXf($)o#-+ z@xw8G?8p2rK@axvZJoTrPR8o79r|W1*Eh)##chC3`lGh)^r2m*#}~&%!`WaCf4$dk zaf+OY4RO?y;hiQKf5{}1FAsGHOJ6nG`kU@PuB|V0MTpV!>3Ai7p^2@p=nYsV*O*G9 zPTnz%y=zkM^NN0OBuca!%U8dwtJ^Ej?Vl%@zpMi)$ElBZJ{%kmIp ZRyegd8<&3kiezoA#UJV{t#AL;_kYBD%!U8} literal 5256 zcmd6r{cls(8ON_lOoDm2fsrT+QxBlD3W#wW$9bV6z7A7YP$>y&tAe_b1m~S3w#f@l z1hIkArgSh~v=YXUpa@?ms!Hfk)2$?S>>Gt{?Xs$x(us8xDhsmLrH2QjadiEGjxbveOIib|O05g5ScwUZs5 zyzU(LuLRu{ZT&)aHz~IG(F6T4u`8#<;z)n(#Su%bp7LFsz0B(Q?s+hZgDWuhf$3Lf zz%=xC5wE?IxQ3bWbfq_zsDdSuL5ZT*sY+Pg;Xcx(d&u;UnSBmet1Ha5;FK^d(mzk) zxTzszdhGzG$X9)9%+BOr7WE%cPq<14mg?&kJXDI?CWLH#v?z_+hu0YcfSm26uzjhy zqEdWrASObz>Jk=hHAH)C13L@dg~q?XawFekQC7s!C60)x4say#{Oy}e2O4);Wtmla zw{PmC7qro3x_Y5EPY+h6mAAR2(-&j7wQg-+NOj+)PBJ)>Z|tk=fu-opbj#{t(HyBG zmmjJ31}b$v>nc3-kX;y*(e;%RxFmi5_rAt;C5QSrPx6LEo%C#kh@?DY?=Fl#oDaKM zp0dE%dxoDxmme|1X~`4&$qLj@qP|&$$U578xM;NiFu!9^>~siksCe6@*t&&}2E~Ib zYy;wT+Y#|C%rI+hlAUgxlZ3?@uRLZzKJ@28=I_|r6X6`(D~2M5;K1Jx`M zaCFDNgA>6-usB0qB|dM%K8)}9`%Mx{1zraD=}Kud?F5_$aV?u+3@k(((x|ur%|&0@ zi~$hG?=hI&|1hIK>w+xwEuP}L_$pdUruZ&BkJeJFFDZ%Tcat)!D_J#5g1cNeTY|_` zV1IPY?U)G3U_?&_qwC=c8_580iJo&DKWPo z;(!fIQ4i^BLS14u(?s@;R|buV;LR#lpND#Hy~;3Wg_@b5 zuKiVwAm{NfYaS8K%XUvwuZi2z;m^0Wi^%zn)snqa9L-R#i_fH86vqYi8k%qCYWTat zu(b^T{SM+hjNQKlp3hYS{fX**4kUylKXLSn{f>ap=OBf9Gr>*#0D3U=6F%_6SAcKkMr^yOP?ySAsSnTi<0;ZwaF5CO%8_NdsOA zFl($!iN1c=C*8{8W`7r zWW)a}_sMqvPb~M-u!!f2?liT9F`w)&n8JMWT?VadEzGM8jL^TA2`5X6k{ExgKLY;S z+h}#qGJ`!0|NZ=|6{1>G0mMfc@`&u8rJ#tpnII3jBkOJbH?)!t{+&#s2${ z=^T}m8FM30jdYMDCF`n%`(He>J19KZ!8yzyx1cX6x#w{LoqXj77PgiACT@C3DX8Kk zRhE?xVA{}E>0D%nE|XH8d@98-P#t~p{35=q(Sq>_XZf9%9(fuYzZKp-X*XW{^>?eQbj%^<~=1 zF!v^pTz*6_FPY6A&wlas8H9aDB##Xu=%sOih%WXUfghPZ6=C@6-hJr=tunm8JH-## z$5KF)?D_OumBzk1445$XXJr%TpUlyaeWg1vmHq1eJs#!sen*hi`?c(u>la}j;c~vD z^lrfOHLAUGwhT^@xTZ}vg9P&5X8E9KjQ zh#eVMK8T|>m{($FQ5$t$84sa0m{m;wfwmbs9fk%LWyG-wUdD`hN$mV8Qm#JD{jue%~(y~zMq>oL% zXK9@?Zjm_yoTOuUYu+|Vhp`@OHc158L!IEpwb`pV-*MZ#)?C{da8$0 GgaZJtlNgu) delta 70 zcmex(j`QO=&JB5mjGUYE3v)P`e*c?%x5}2Wc6-7bM!{+}21cVpyi9P8@nPY1ILG9O I6c2<00Qqnk*Z=?k diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-Statistics.db index f750d82823511da36e8180b0a9ed32baf0fc8d78..59969c279db4076932379c3c2c65ff892b519951 100644 GIT binary patch delta 195 zcmdmQzTI4pfq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcZVNBot?+Fz8QCkQSS0qsWqQ z<@EH4sq!q@NB-U0*t1%|FkWTbSp^1>pREk6(aW>CEN_7635Evs|Ns97VW2r+VBf#E z>flPnuFV;O(>RSG+8Av20p)<%;B^vquSjX&Hzw-tI!{m5r&B<}nkt|PY HmU{pI$Ot>u delta 191 zcmdmPzTaGhfq{Vqh(Q3vW(49?AZ7yM9w26BV35|CsAI{|EK@1*L4V`xiJ9^okG3U6 z9yoA1cw^6M0mHa+2Mb>^h%WrZz#0|4#HVEgm=3ymqW=H?{~!!B1q|%_A2+be<(=4^ zAvlfG6rzp6b{kL*XelESAIb(9S@Oekn$%+7=08?E--=i^OxBlf;cyQ6xX9MEPzV58 CVnJU3 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-TOC.txt b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-TOC.txt index 0251bd9110..734a80d3cd 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-TOC.txt +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust/na-1-big-TOC.txt @@ -1,8 +1,8 @@ Index.db -Data.db -CompressionInfo.db -Statistics.db -Summary.db TOC.txt -Digest.crc32 Filter.db +CompressionInfo.db +Summary.db +Data.db +Statistics.db +Digest.crc32 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-CompressionInfo.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-CompressionInfo.db index 1ef9177bde41ec5e6ebdff978070a14a3d68bc8d..6d3ac8edf2ff9c5a546dde3a528ac7810ea3f8d3 100644 GIT binary patch delta 58 mcmWF!pP*#g#=yY92E<5!`6-0MehETzuYl0}Ahkds91j4y5e1z9 delta 58 lcmWF!pP*#g&A`CG2E<5!`8tHdz5_yY&w~2WMQPV1#F^$tnby*hJB(bBFcN(BB_gdAblfW>09<=YDii;7Fk0<0)U zlpT@Xk|0DP?rOic-s=gw{b65)r_twemj}F6R6K4!wCdIEcQuMqm?J57yrz}jGDiKhQP ztv#}Lw^R7lZ3ox~txo3KyUrn;xa%~99<)uGr1(RLZDxA%78pr>0rNTnSBp*)9efWx z?Jo(MXNuEAE}~)ybS%~#Ux;)-l4GUSE>lQ4UV^!IrQe)` zW|uIwvdm=)65HF%-Xpq9bWO3#)JO(OD0=p;a|wGV*z?)Ws6Oo-yB)&V+8hkm&bFdQ zJS)+)i_!3o9%sWGGz{y8jd##6q8m0{N5h|V!?RH|ysI1B$I)<>8G1KEy557jL8jhA zn0&svE>qt&mbsFLnfC~1OXv&TEcJv(-4_1xhSjJ>CFU-+5!z(sm$xn86xm_xg0~mH z6^VRth*P`TeyJav zToSZv6Ds8aHREp_^mmW*%iVdrdgESBk-k4(*7G25p5|5m+n0l6z?mK22s_#L%>$6- zW2!+o^&vgd0BK5(#tjY=Ikud_B_(M1tc>xS+15NH0NDLJ(g&0_V8kK3`uMB>dSIE@ zDRr|(BZ>|a?a6bP0xGymkX#2(jIolL(#?G1D7Z^d#RRCL*K&g&$z$ z6MMIw2wJDG{7FHQ??+JgAySy+JB_tYia1}O+Zny51I@)r&i8HwtF+wJDNSg3Y{465 zJ;U0=XoA4#0vChK$=ZWVM|QHuw5c9_&gjESFj9my29!%tCRQI|HJOmPcMYpcZW-i{ z-qWQ_EvGm|?2dZaN;Qy7?MEYKXat%pevWGdea^8_A4^hOCo5d0rg%;=b*+z>L(&-Q z0+8@ep#5nH%XC!^uYQ`zt93J+B2Vpj88}Yd;wcBVi+Doh=cw#jdcTl`tV9!l^v;#B z^t5%ddB@9~x2F~J(;`)|H6aU22(qnN#VyjBHC#qCz`B`s)8Iq=T8qG|@NM;-GQ2UN z4Njol!6d8P3ngg4e(+Wq8`u*kKV8IN$H}b%52Nm?5>bcErJUJ;d-1juWm58_!Jlby z9A+#1YbHL)P=<0{+L$^n-4v8bG+&)@s*S+b4jYS&Ki!cQfPF%h_)i5<68q@l;%0%8KEV)gy=vQ8tzdIP!r^6GViBVmNee? zbo0E+^qp!9pyCe7k4h`KcgqZF1Fxbby!!JaoFe1D4gyLExW~uOtAB1WsB&K2US&`~U{ELh6F@LQx=i;y zZvdUn7?_;N<|BO$ZzCkBpv&}gs0V#x|MM}gzM9|^QNF&yH4kN2-@86%EcG=GbeVQG z#5u22NBGPe7izyX!l6{M<6K7%ZJHfi7o7u8lw9f4bj6SO{?-K#LW<|6D1K=>;Hu=N z!a2GWpRVY8AQz%%2tAMH#X-++2Rj4(FA}l*AVmpDd+^F^MtUq`-*=K8TlAGm`duJh z$(EL;Dj^m1*xaqjsK*w62yceip3X=FN7fhr1FiYP_y}qQg#Cx(Xth76CxWzJLSsRa z>r$kc6mqT@U>QSst`nj%wqwhHWghmJErJFP_MJ(v#|nLFeZ+_R+(skp%Nfub?2cj# zr-A5L&Z|-$Xu2|!Ut4MB)oS2bkMgrgUabduxv{=J#E<5A(N)0JQoJ?dsqZ*|q&9M|($uPP zGqIMkGp$#GyQGZg(!)!>#e3f=csIm0FI`U(c<&oTYkpe%necMJ_02A{+Ar%lAn%AQ zDM)hdXWW{dkh@BD|4wj|IMn}8jfVJKhpHrO4#!D{IUhR%CvU=HZ7q%BBq7`nlYFn`4dTMVk)pehW+Ppvi(-?ci%6F>E& zk@%0Se5mP%P-(fthW`u_3$k(@m_g3z!1lxDG-1&;>xolj;3 z)Pwd+u~KSf>@onpxB{C;2MR8*Pux7IIE^8F41PNclEMtpt2xIzz_I_b4v^&jD*UPj i9e{Jk4lsos;E9DuKSD!k5B$znQ-(k5iPrz+l>8sA_MQL$ literal 5286 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 QY-_5)?|tIO!Pdq92RN9=p8x;= diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Digest.crc32 b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Digest.crc32 index a9900dada9..239b37240a 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Digest.crc32 +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Digest.crc32 @@ -1 +1 @@ -818525950 \ No newline at end of file +3704038982 \ No newline at end of file diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Index.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Index.db index e04d3dbda92e5d6d9dc23d7960537d0d735abd91..2e209512e5e2169b74bda921a027db612828cd87 100644 GIT binary patch delta 157 zcmex(j`QO=&JACM7}+=T_T_Q1Fdw|eyt#flki`gMeO!>o$rSv5bKmNh>67X4-zikrAkn38YZ(0#G5t=6N@P3K=#FJ}v}NIfVtBjK3z|t+Hh--=6S> cQLvhgfzjv?&mTC)_^@yzoMUoCiVea60H@G1`Tzg` diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_compact/na-1-big-Statistics.db index f2da58dcf5cf61f567ba10bfcab5f863604fa664..cd90137dcff3a2edb7a847a70b0dec77dd4e4202 100644 GIT binary patch delta 195 zcmdmQzTI4pfq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcZVNBot?+Fz8QCkQSS0qsWqQ z<@EH4sq!q@NB-U0*t1%|FkWTbSp^1>pREk6(aW^h%WrZz#0|4B7~ diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Data.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Data.db index 55be94d28810987f7cdfb13084dc72541263dff3..03babd4bacabc9854491295c7539c8ad33805aea 100644 GIT binary patch literal 5781 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 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Digest.crc32 b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Digest.crc32 index 0608cacb4c..7bd9e39838 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Digest.crc32 +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Digest.crc32 @@ -1 +1 @@ -1278737554 \ No newline at end of file +1093063834 \ No newline at end of file diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Index.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Index.db index 646d4d416bd14b87949e5c1ff36a8f3fc6c961d9..5ad5400ad14eeeb8c3b6be7679620ff6fb43e61b 100644 GIT binary patch delta 68 zcmex(j`QO=&JB5m+c!UA%;RKCn0&X&mQi_o!W%}xYBmN&qk}Je;2h&acS_+LlfxJ0 GK{x>MG#j@7 delta 69 zcmex(j`QO=&JB5mj6XN$7v^#@#!bFkWy`3zJ>d9qtU?^UT}`_p*zKJj>+K* Hb08c514kR| diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter/na-1-big-Statistics.db index 569221411f953c7ee0b95cb532932474ca4a7269..9347a2c7d7545918b16a8499b3f81fc8f495eb6b 100644 GIT binary patch delta 195 zcmX?Me!yIhfq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcZVNBot?+Fz8QCkQSS0qsWqQ z<@EH4sq!q@NB-U0*t1%|FkWTbSp^1>pREk6(aW>C99Mwp35JIC|Ns97VW2r+U_a?W zl5CLJ%gq^r(>RSG+88{zfpS1=8Ikx^h%WrZz#0|4#HV8hm=3ymvi|@7{~!!B1q|#by}f#|+24P2 zhTt?#Q;0SOk7S@6&{9SuK9mhIa`oFpp3kbA5B#y>`Bua+W3s+i-CcG6^M}l%N7WSGXO&KUWCv>_5g{#1bqMi delta 50 hcmebGpP;0>kAZ=K6^M}l%V7wIvkpS@*+FQb9{`Gv1myq# diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Data.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Data.db index 1f4e26a4ece4cae8f8adda25749db97c0055294e..1976981ac757b7bbb852edc64164c50eb9acda24 100644 GIT binary patch literal 5545 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 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Digest.crc32 b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Digest.crc32 index 3ae0adf46d..22ed33ba43 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Digest.crc32 +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Digest.crc32 @@ -1 +1 @@ -2193718788 \ No newline at end of file +2742231118 \ No newline at end of file diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Index.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Index.db index 041117e33b0039cf3bdea54b7ad32493783fe2a8..022bc3da0ab214b63e22d3f20a819079314a9357 100644 GIT binary patch delta 149 zcmex(j`QO=&JACM7{71k?aSk25k7e1^XB^LK-NqU>*IoaPDc67iK~h@8JBO~Yf;F_ zsJ~g?3CP>J{emN7At#G1NSWRRpt8f8=iLNKcyAVb3{-Y`b53CaCu8X3yH&P~V%rnm dFbY<)F)$h(d|?mg7$3Tm0q2+;zAzEO0RTLjJ@o(p delta 147 zcmex(j`QO=&JACM7(Z|3?aSk26y1K1gQ<{{W$wWnpErM8kk84eyg6}I5hvs7&3i2h zIT?*N>pKB?JGWnOWCSX61S!+I091B-^Sqlt3IEN4kAcdrZ_X(!;AD)Pe7DM$QEGd_ d8%DuuHU>tcgD;%n9OFZGa^M`3!xyGPH~`KdJ6He! diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_clust_counter_compact/na-1-big-Statistics.db index e899252d5b3112aaf8a3ad79b0838059520f75e9..d393159b438c4fefceb7f1a8d81c4b22b5058e14 100644 GIT binary patch delta 195 zcmX?Me!yIhfq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcZVNBot?+Fz8QCkQSS0qsWqQ z<@EH4sq!q@NB-U0*t1%|FkWTbSp^1>pREk6(aWzRLLV delta 191 zcmX?Le!^UZfq{Vqh(Q3vW(49?AZ7yM9w26BV35|CsAI{|EK@1*L4V`xiJ9^okG3U6 z9yoA1cw^6M0mHa+2Mb>^h%WrZz#0|4B^CEuhRGZKTX#b2#1u$T9}9j%2(5vP_g2Opm5rRAvZJNJ^|?OcJ**1OO+{ B45I)5 delta 48 zcma!yn4qi8yg->j+DMtf=J3V AVgLXD diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-Digest.crc32 b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-Digest.crc32 index 1275575bff..1dfec4f889 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-Digest.crc32 +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-Digest.crc32 @@ -1 +1 @@ -3074491452 \ No newline at end of file +2354437953 \ No newline at end of file diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-Statistics.db index 4205870c6bab32af805f5cd4ef086511e628d526..33f05164566260c1cf4f52805daaf1af56b2424c 100644 GIT binary patch delta 196 zcmdm>vO-0Vfq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcX7qy5-!}!Jt3+f}q$$8%36c zE2pPVOqFNJKJxG0#-7yzhVd%f&MGj7{A^`ljb5JB`FaPK?hop$|Ns9#2m{Rl1N-}h zAB|7#DxO>@C_TABkaKd6AP-bGgJB;~3D9;%h-qLxlnpYOA^7W$Kh`mO)@SdSd{!`; JMW)!b4*)9_KCJ)% delta 204 zcmZ3XvOz_Kfq{Vqh(Q3vW(49?AZ7yM9w26BU=TbuQOA;_S*B9rgZ{?X6Eo#G9&JmC zJaFK2@W!6i0)}zt4i>&-5MB6*fi)_8iI3g^Fdg{aqW=H?{~!!B1q|%(3)`$-ZgyaD zp`i5S20_lrJ%T(I5Zw%hZ9pYJyBU%AP&UZqU3ag0C$_W-{;}fuR=Dl}1B1pyJ+aA; Q1f4jJE?cyJsxNCc0BOKQ-T(jq diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-TOC.txt b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-TOC.txt index 0251bd9110..734a80d3cd 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-TOC.txt +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple/na-1-big-TOC.txt @@ -1,8 +1,8 @@ Index.db -Data.db -CompressionInfo.db -Statistics.db -Summary.db TOC.txt -Digest.crc32 Filter.db +CompressionInfo.db +Summary.db +Data.db +Statistics.db +Digest.crc32 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Data.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Data.db index 8adbf543b998eccf70ec0cea2ac9e4b3a6a4e882..b9b836f818638dd29697179661606f3fd10840b8 100644 GIT binary patch delta 48 zcma!!nxL<}yFrCP)<}iH`e4&8Aj=rYI>aBL!XRg&!k{ukK!qVdAt|wnQDx8BYydm) B4E6v3 delta 49 zcma!wo}jPu&O?Pk)<}iH`rt_pAj=rYIyCzSkY%F6U~)K{QH3EuAt|wnF@58W4gg#i B4ygbD diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Digest.crc32 b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Digest.crc32 index 138bc9c2d9..669bbcf624 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Digest.crc32 +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Digest.crc32 @@ -1 +1 @@ -1825853914 \ No newline at end of file +1732739494 \ No newline at end of file diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-Statistics.db index 7e2561351d7623cfde8cf766398349761ee487b2..b112e583e0b40cb2b1fadc2ea287b895721b2053 100644 GIT binary patch delta 196 zcmcbqa#2N(fq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcX7qy5-!}!Jt3+f}q$$8%36c zE2pPVOqFNJKJxG0#-7yzhVd%f&MGj7{A^`ljb5HL!BhfFPdckn|NsAg5C)n92KM(} z->qI>`hIeup!DPhLC(oNf;>>&41UQ#B|zI5A*O-(P&UZqhi{9r|5(TD*}7F?@>#(a Jmh8E8mjErwKePY< delta 208 zcmcbpa#KZxfq{Vqh(Q3vW(49?AZ7yM9w26BU=TbuQOA;_S*B9rgZ{?X6Eo#G9&JmC zJaFK2@W!6i0)}zt4i>&-5MB6*fi)_8NzmO5U^>iWWBvdC|3MgN3K-bmcYpC$e({&d zg@V$P8w5Eg_XzS>Ky)+sMFW)p?Pf&cL)jpc1>Oce(paU&_{WOpTSe>!1_q6ZdSa7# UgoG!56^!86o^{`JM_P$205ttaApigX diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-TOC.txt b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-TOC.txt index 0251bd9110..734a80d3cd 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-TOC.txt +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_compact/na-1-big-TOC.txt @@ -1,8 +1,8 @@ Index.db -Data.db -CompressionInfo.db -Statistics.db -Summary.db TOC.txt -Digest.crc32 Filter.db +CompressionInfo.db +Summary.db +Data.db +Statistics.db +Digest.crc32 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Data.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Data.db index f3e6359e3b07fc7af63fb28cbc2493dd148406d6..ed0dadb82521d7e247ee1f8ad23d3fbe1e4f3443 100644 GIT binary patch delta 125 zcmeBXoWwXmrYuSHR7NqAi{T`HkA@|!`uYs4(aW>C)B-dZG8q^d85j+%81l9F84ht5 z+Ay%2_i$~nVURJhVX!~!zY-{*-0N-4z*xZ`V+<5J5^DeyGVY7$uw`J_!XRS;6gwI% U0TesXA6CEs0gQ})l;l1E032c;NB{r; delta 118 zcmbQl*v&XWCjZq}g~cnTyS{7x7rM9hbe$jrYgG6WpHcx0hD-)VMg~ShD~5b6eujf@ z3~d;bX0u(s9k<*5OW5aI+ N1_)qeRCV5;3IG;MB6a`( diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Digest.crc32 b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Digest.crc32 index 2ad4fa0d59..1480f5db63 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Digest.crc32 +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Digest.crc32 @@ -1 +1 @@ -3361465012 \ No newline at end of file +2023874595 \ No newline at end of file diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Statistics.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-Statistics.db index 04cacf9835bf63ecb81a5f51f91cbd133e8434cc..124dacdd5cef7d2ebea3c31faa6c04d52e71fd4c 100644 GIT binary patch delta 196 zcmdm~vQb5kfq{WVO;ef`NP~b55HkXCCJ-|LaSsqPGcX7qy5-!}!Jt3+f}q$$8%36c zE2pPVOqFNJKJxG0#-7yzhVd%f&MGj7{A^`ljb5JB`8xtk_lFhK|Ns9Vgn{OOf&IOD z6_I&@dXozUr6)HCa!&3M&-5MB6*fi)_8iI1BBm=64IS^xk4e-H+m0tWVX{&{HHD8)`L z6qKIaAjmnnN07$?qMN}|3#bHWHzN`s$_AO-ay~yxT~RCKj}_0i!ea&u3>p*l#3nxy P^yV;}F)8XtlHNoB!~H^F diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-TOC.txt b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-TOC.txt index 0251bd9110..734a80d3cd 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-TOC.txt +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter/na-1-big-TOC.txt @@ -1,8 +1,8 @@ Index.db -Data.db -CompressionInfo.db -Statistics.db -Summary.db TOC.txt -Digest.crc32 Filter.db +CompressionInfo.db +Summary.db +Data.db +Statistics.db +Digest.crc32 diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter_compact/na-1-big-Data.db b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter_compact/na-1-big-Data.db index 72772f06d0ad252c2ea9dac245980cfb36388426..366315ff23d7b18eaf755004d057cdab373f15cc 100644 GIT binary patch literal 148 zcmdOAWMG)Yz-Una|Ns9621bTY!V4HR7#J8-7#JHEl0;8s6f?OPPV)C?SkkJm&%heJ zJZplb216AC10y2?qoFlJz7_++f$cMG88{R^%&=l$wq=ktvSqM8*tElzf!%Q8?j6<) sOh7SXpx7bqLZFzzB$oo9x+(@a6I%xTDVji?8_t4k1OZ0Ivg$)_0A2JY761SM literal 142 zcmdOAWMG)Yz-Una|Ns9621bT2!V4HR7#J8-7#JHEUVT+qykffRyY_#fduvbE2{N!o zg)a$us>Kk+$jHEGXw8tX#lUdjorf(0yHW7@2Wbq9whXdHwhZI6fq{Vqh(Q3vW(49?AZ7yM9w26BU=TbuQOA;_S*B9rgZ{?X6Eo#G9&JmC zJaFK2@W!6i0)}zt4i>&-5MB6*fi)_8NzlU?U^>iaM*aW)|3MgN3K-bmRbv(0CmA`p zP*8eugCOVR9zh-ph;D}97N8QK-Hb?lC>vz*wcDaBmfErN{#fyRt4N%|z@RZvPi!)e UknrTMf{7d+mrm~cH9`9U0AoW&H2?qr diff --git a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter_compact/na-1-big-TOC.txt b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter_compact/na-1-big-TOC.txt index 0251bd9110..734a80d3cd 100644 --- a/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter_compact/na-1-big-TOC.txt +++ b/test/data/legacy-sstables/na/legacy_tables/legacy_na_simple_counter_compact/na-1-big-TOC.txt @@ -1,8 +1,8 @@ Index.db -Data.db -CompressionInfo.db -Statistics.db -Summary.db TOC.txt -Digest.crc32 Filter.db +CompressionInfo.db +Summary.db +Data.db +Statistics.db +Digest.crc32 diff --git a/test/unit/org/apache/cassandra/io/sstable/metadata/MetadataSerializerTest.java b/test/unit/org/apache/cassandra/io/sstable/metadata/MetadataSerializerTest.java index 95d2a7747c..7d8150c1a2 100644 --- a/test/unit/org/apache/cassandra/io/sstable/metadata/MetadataSerializerTest.java +++ b/test/unit/org/apache/cassandra/io/sstable/metadata/MetadataSerializerTest.java @@ -98,8 +98,13 @@ public class MetadataSerializerTest String partitioner = RandomPartitioner.class.getCanonicalName(); double bfFpChance = 0.1; - Map originalMetadata = collector.finalizeMetadata(partitioner, bfFpChance, 0, null, SerializationHeader.make(cfm, Collections.emptyList())); - return originalMetadata; + return collector.finalizeMetadata(partitioner, bfFpChance, 0, null, SerializationHeader.make(cfm, Collections.emptyList())); + } + + @Test + public void testMaReadMa() throws IOException + { + testOldReadsNew("ma", "ma"); } @Test @@ -114,6 +119,12 @@ public class MetadataSerializerTest testOldReadsNew("ma", "mc"); } + @Test + public void testMbReadMb() throws IOException + { + testOldReadsNew("mb", "mb"); + } + @Test public void testMbReadMc() throws IOException { @@ -121,9 +132,15 @@ public class MetadataSerializerTest } @Test - public void testNaReadMc() throws IOException + public void testMcReadMc() throws IOException { - testOldReadsNew("mc", "na"); + testOldReadsNew("mc", "mc"); + } + + @Test + public void testNaReadNa() throws IOException + { + testOldReadsNew("na", "na"); } public void testOldReadsNew(String oldV, String newV) throws IOException @@ -146,11 +163,9 @@ public class MetadataSerializerTest for (MetadataType type : MetadataType.values()) { assertEquals(deserializedLa.get(type), deserializedLb.get(type)); - if (!originalMetadata.get(type).equals(deserializedLb.get(type))) - { - // Currently only STATS can be different. Change if no longer the case - assertEquals(MetadataType.STATS, type); - } + + if (MetadataType.STATS != type) + assertEquals(originalMetadata.get(type), deserializedLb.get(type)); } } }