cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Zhou (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-14199) exception when dumping sstable with frozen collection of UUID
Date Thu, 01 Feb 2018 06:06:00 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-14199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Simon Zhou updated CASSANDRA-14199:
-----------------------------------
    Status: Patch Available  (was: Open)

> exception when dumping sstable with frozen collection of UUID
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-14199
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14199
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>            Reporter: Simon Zhou
>            Assignee: Simon Zhou
>            Priority: Major
>             Fix For: 3.0.x
>
>
> When dumping (sstabledump) sstable with frozen collection of UUID, there is exception
like this:
> {code:java}
> Exception in thread "main" org.apache.cassandra.serializers.MarshalException: UUID should
be 16 or 0 bytes (24)
>         at org.apache.cassandra.serializers.UUIDSerializer.validate(UUIDSerializer.java:43)
>         at org.apache.cassandra.db.marshal.AbstractType.getString(AbstractType.java:128)
>         at org.apache.cassandra.tools.JsonTransformer.serializeCell(JsonTransformer.java:440)
>         at org.apache.cassandra.tools.JsonTransformer.serializeColumnData(JsonTransformer.java:374)
>         at org.apache.cassandra.tools.JsonTransformer.serializeRow(JsonTransformer.java:278)
>         at org.apache.cassandra.tools.JsonTransformer.serializePartition(JsonTransformer.java:213)
>         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:481)
>         at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
>         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:102)
>         at org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:242){code}
>  
> *Steps to reproduce:*
> {code:java}
> cqlsh> create TABLE stresscql.sstabledump_test(userid text PRIMARY KEY, c1 list<uuid>,
c2 frozen<list<uuid>>, c3 set<text>, c4 frozen<set<text>>, c5
map<text,text>, c6 frozen<map<text,text>>);
> cqlsh> insert INTO stresscql.sstabledump_test (userid, c1, c2, c3, c4, c5, c6) VALUES
( 'id', [6947e8c0-02fa-11e8-87e1-fb0d0e20b5c4], [6947e8c0-02fa-11e8-87e1-fb0d0e20b5c4], {'set',
'user'}, {'view', 'over'}, {'good': 'hello', 'root': 'text'}, {'driver': 'java', 'note': 'new'});{code}
>  
> *Root cause:*
> Frozen collection is treated as simple column and it's the client's responsibility to
parse the data from ByteBuffer. We have this logic in different drivers but sstabledump doesn't
have the logic in place. It just treat the whole collection as a single UUID.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message