You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Jun He (Code Review)" <ge...@cloudera.org> on 2017/01/05 07:25:21 UTC

[kudu-CR] KUDU-90. Add a header checksum to our RPC protocol

Hello Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/5578

to look at the new patch set (#4).

Change subject: KUDU-90. Add a header checksum to our RPC protocol
......................................................................

KUDU-90. Add a header checksum to our RPC protocol

Added 4-byte checksum into the RPC protocol.
Checksum is inserted immediately after total_size.

The new message framing will be
  total_size: (32-bit big-endian integer)
    the size of the rest of the message, not including this 4-byte header

  header_checksum: (32-bit big-endian integer) CRC-32C
    the checksum of header (excluding varint-prefixed header size field)
    - CRC-32C computation in C++ uses `kudu/util/crc.h`.
    - CRC-32C computation in Java is based on hadoop-common class, `org.apache.hadoop.util.PureJavaCrc32C`

  header: varint-prefixed header protobuf
    - client->server messages use the RequestHeader protobuf
    - server->client messages use the ResponseHeader protobuf
...

This is a non-backward compatible change.

Change-Id: Icf71ed4d4ac924445606b0d6fcf477d025243c74
---
M java/kudu-client/src/main/java/org/apache/kudu/client/CallResponse.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java
A java/kudu-client/src/main/java/org/apache/kudu/util/Crc32C.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestRpcChecksum.java
M src/kudu/rpc/constants.h
M src/kudu/rpc/serialization.cc
6 files changed, 763 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/78/5578/4
-- 
To view, visit http://gerrit.cloudera.org:8080/5578
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icf71ed4d4ac924445606b0d6fcf477d025243c74
Gerrit-PatchSet: 4
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Jun He <ju...@gmail.com>
Gerrit-Reviewer: Jun He <ju...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>