for old version‘s index data using this version’s dump code ,I think there will not be much difference(may be only exception message‘s difference),It is backwards compactibility I think .But I change the content of sstable(adding a new base type for partitionordertype).😅
Benedict Elliott Smith (Jira) <j...@apache.org>于2023年2月20日 周一下午5:07写道: > > [ > https://issues.apache.org/jira/browse/CASSANDRA-17698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17691078#comment-17691078 > ] > > Benedict Elliott Smith commented on CASSANDRA-17698: > ---------------------------------------------------- > > Could somebody ELI5 why this needs to break backwards compatibility? > > > sstabledump errors when dumping data from index > > ----------------------------------------------- > > > > Key: CASSANDRA-17698 > > URL: > https://issues.apache.org/jira/browse/CASSANDRA-17698 > > Project: Cassandra > > Issue Type: Bug > > Components: Tool/sstable > > Reporter: Stefan Miklosovic > > Assignee: maxwellguo > > Priority: Normal > > Fix For: 5.x > > > > Time Spent: 12h 40m > > Remaining Estimate: 0h > > > > {code:java} > > cqlsh> CREATE KEYSPACE ks1 WITH replication = {'class': > 'SimpleStrategy', 'replication_factor': 1}; > > cqlsh> CREATE TABLE ks1.tb1 ( id text, name text, primary key (id)); > > cqlsh> CREATE INDEX IF NOT EXISTS ON ks1.tb1(name); > > cqlsh> INSERT INTO ks1.tb1 (id, name ) VALUES ( '1', 'Joe'); > > cqlsh> exit > > ./bin/nodetool flush > > ./tools/bin/sstabledump > data/data/ks1/tb1-1c3c5f10ee4711ecab82eda2f44200b3/.tb1_name_idx/nb-1-big-Data.db > > [ > > { > > "partition" : { > > "key" : [ "Joe" ], > > "position" : 0 > > }, > > "rows" : [ > > { > > "type" : "row", > > "position" : 17, > > "clustering" : [ ] } ] } ]Exception in thread "main" > java.lang.UnsupportedOperationException > > at > org.apache.cassandra.db.marshal.PartitionerDefinedOrder.toJSONString(PartitionerDefinedOrder.java:87) > > at > org.apache.cassandra.db.marshal.AbstractType.toJSONString(AbstractType.java:187) > > at > org.apache.cassandra.tools.JsonTransformer.serializeClustering(JsonTransformer.java:372) > > at > org.apache.cassandra.tools.JsonTransformer.serializeRow(JsonTransformer.java:269) > > at > org.apache.cassandra.tools.JsonTransformer.serializePartition(JsonTransformer.java:235) > > at > java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) > > at > java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) > > at java.util.Iterator.forEachRemaining(Iterator.java:116) > > at > java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) > > at > java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) > > at > java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) > > at > java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) > > at > java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) > > at > java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) > > at > java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) > > at > org.apache.cassandra.tools.JsonTransformer.toJson(JsonTransformer.java:113) > > at > org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:214) {code} > > > > -- > This message was sent by Atlassian Jira > (v8.20.10#820010) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org > For additional commands, e-mail: commits-h...@cassandra.apache.org > > -- you are the apple of my eye !