[ 
https://issues.apache.org/jira/browse/CASSANDRA-9894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14660099#comment-14660099
 ] 

Benedict commented on CASSANDRA-9894:
-------------------------------------

bq.  I changed it to return the assembled list and then the test didn't pass.

Thanks. I've added two commits, one of which fixes this, and another which 
switched to delta encoding, which naturally reduced both huge serialization 
paths into one, making it much cleaner.

bq. There are a couple of other methods like digest, selectOrderIterator, 
getComplex, and getSimple that don't run. I get surprised pretty regularly so I 
would test those as well.

{{selectOrderIterator}} was already being tested, and I've added coverage for 
{{getComplex}} and {{getSimple}}. 

However digest and {{getDroppedColumnDefinition}} I'm not so sure about: I kind 
of feel they only make sense in a larger picture, i.e. in a dtest. I don't mind 
doing a noddy "check it does what the code already says it does" kind of test, 
but I'm not convinced it adds value by itself.

bq. Can you use a random with a known or logged seed for the test?

This turned out to be much more annoying. Because {{ThreadLocalRandom}} does 
not support setting (or fetching) its seed, and regular Random has a more 
rubbish API - it does not support a lot of useful methods. We should file a 
ticket for exposing easily reseeded/logged Random with the full TLR API, I 
think.

> Serialize the header only once per message
> ------------------------------------------
>
>                 Key: CASSANDRA-9894
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9894
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Sylvain Lebresne
>            Assignee: Benedict
>             Fix For: 3.0 beta 1
>
>
> One last improvement I'd like to do on the serialization side is that we 
> currently serialize the {{SerializationHeader}} for each partition. That 
> header contains the serialized columns in particular and for range queries, 
> serializing that for every partition is wasted (note that it's only a problem 
> for the messaging protocol as for sstable we only write the header once per 
> sstable).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to