[
https://issues.apache.org/jira/browse/CASSANDRA-16360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17334647#comment-17334647
]
Sam Tunnicliffe commented on CASSANDRA-16360:
---------------------------------------------
Thanks [~benedict]. [~azotcsit], one other thing I wanted to mention is that
your plan to move forward includes changes to both the internode and client
protocols. While these two subsystems do share code, in particular the Frame
encoder/decoders, it's not necessary to evolve the two protocols in lockstep.
If you implement step 7 so that the encoders/decoders support both CRC32 and
CRC32C then this becomes two separate (possibly parallelisable) pieces of work.
I would highly recommend approaching it in this way as either piece is a
significant effort, the client/server protocol probably more so as it involves
coordination with the various client implementations to ensure compatibility.
> CRC32 is inefficient on x86
> ---------------------------
>
> Key: CASSANDRA-16360
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16360
> Project: Cassandra
> Issue Type: Improvement
> Components: Messaging/Client
> Reporter: Avi Kivity
> Assignee: Alexey Zotov
> Priority: Normal
> Labels: protocolv6
> Fix For: 4.0.x
>
>
> The client/server protocol specifies CRC24 and CRC32 as the checksum
> algorithm (cql_protocol_V5_framing.asc). Those however are expensive to
> compute; this affects both the client and the server.
>
> A better checksum algorithm is CRC32C, which has hardware support on x86 (as
> well as other modern architectures).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]