You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Grant Henke (Code Review)" <ge...@cloudera.org> on 2020/10/08 17:50:49 UTC

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Grant Henke has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16565


Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................

KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

This patch adds support for HMS notification messages encoded
via the GzipJSONMessageEncoder that was added in
HIVE-20679. It does this by decoding the base64 encoding
and decompressing the messages sent with the `gzip(json-2.0)`
format.

Because HIVE-20679 is only in Hive 4 which is unreleased,
I created a static encoded message to test the gzip functionality.
I also  manually tested this functionality on a real cluster that has
HIVE-20679.

While testing this patch I found and fixed a bug in our zlib.cc
Uncompress method. Without the fix zlib would
return a BUF_ERROR when the decompressed data fits
in the output buffer on the first call to `inflate`.

For reference I used the following post to help understand
the expected usage of `inflate`:
https://zlib.net/zlib_how.html

Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
---
M src/kudu/master/hms_notification_log_listener-test.cc
M src/kudu/master/hms_notification_log_listener.cc
M src/kudu/master/hms_notification_log_listener.h
M src/kudu/util/zlib.cc
4 files changed, 92 insertions(+), 28 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/65/16565/1
-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 1
Gerrit-Owner: Grant Henke <gr...@apache.org>

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................

KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

This patch adds support for HMS notification messages encoded
via the GzipJSONMessageEncoder that was added in
HIVE-20679. It does this by decoding the base64 encoding
and decompressing the messages sent with the `gzip(json-2.0)`
format.

Because HIVE-20679 is only in Hive 4 which is unreleased,
I created a static encoded message to test the gzip functionality.
I also  manually tested this functionality on a real cluster that has
HIVE-20679.

While testing this patch I found and fixed a bug in our zlib.cc
Uncompress method. Without the fix zlib would
return a BUF_ERROR when the decompressed data fits
in the output buffer on the first call to `inflate`.

For reference I used the following post to help understand
the expected usage of `inflate`:
https://zlib.net/zlib_how.html

Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Reviewed-on: http://gerrit.cloudera.org:8080/16565
Tested-by: Grant Henke <gr...@apache.org>
Reviewed-by: Andrew Wong <aw...@cloudera.com>
---
M src/kudu/master/hms_notification_log_listener-test.cc
M src/kudu/master/hms_notification_log_listener.cc
M src/kudu/master/hms_notification_log_listener.h
M src/kudu/util/zlib.cc
4 files changed, 107 insertions(+), 30 deletions(-)

Approvals:
  Grant Henke: Verified
  Andrew Wong: Looks good to me, approved

-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 5
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Patch Set 3: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 3
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Thu, 08 Oct 2020 18:50:37 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................

KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

This patch adds support for HMS notification messages encoded
via the GzipJSONMessageEncoder that was added in
HIVE-20679. It does this by decoding the base64 encoding
and decompressing the messages sent with the `gzip(json-2.0)`
format.

Because HIVE-20679 is only in Hive 4 which is unreleased,
I created a static encoded message to test the gzip functionality.
I also  manually tested this functionality on a real cluster that has
HIVE-20679.

While testing this patch I found and fixed a bug in our zlib.cc
Uncompress method. Without the fix zlib would
return a BUF_ERROR when the decompressed data fits
in the output buffer on the first call to `inflate`.

For reference I used the following post to help understand
the expected usage of `inflate`:
https://zlib.net/zlib_how.html

Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
---
M src/kudu/master/hms_notification_log_listener-test.cc
M src/kudu/master/hms_notification_log_listener.cc
M src/kudu/master/hms_notification_log_listener.h
M src/kudu/util/zlib.cc
4 files changed, 93 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/65/16565/2
-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 2
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has removed a vote on this change.

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 4
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Patch Set 3:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h
File src/kudu/master/hms_notification_log_listener.h:

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h@139
PS3, Line 139: ra
> nit: spacing, same below
Done


http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h@143
PS3, Line 143: const std::string&
> Should this be a byte array or slice instead of a string? What happens if t
I suppose null bytes are never used in the notification messages. Given the messages are json, I guess the expectation is that null bytes would be escaped.


http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/util/zlib.cc
File src/kudu/util/zlib.cc:

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/util/zlib.cc@106
PS3, Line 106:   z_stream zs;
             :   memset(&zs, 0, sizeof(zs));
             :   zs.next_in = const_cast<uint8_t*>(compressed.data());
             :   zs.avail_in = compressed.size();
             :   ZRETURN_NOT_OK(inflateInit2(&zs, 15 + 16 /* 15 window bits, enable zlib */));
             :   Status s;
             :   do {
             :     unsigned char buf[4096];
             :     zs.next_out = buf;
             :     zs.avail_out = arraysize(buf);
             :     s = ZlibResultToStatus(inflate(&zs, Z_NO_FLUSH));
             :     if (!s.ok() && !s.IsEndOfFile()) {
             :       return s;
             :     }
             :     out->write(reinterpret_cast<char *>(buf), zs.next_out - buf);
             :   } while (zs.avail_out == 0);
             :   ZRETURN_NOT_OK(inflateEnd(&zs));
> For posterity, could you add some high-level comments describing what this 
We always run `inflateEnd()` if inflating didn't result in an error and return early. I kept that behavior the same. I wanted to do minimal change to make this functional given the usage looks a bit tricky.



-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 3
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 09 Oct 2020 14:15:55 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Patch Set 4: Code-Review+2

(2 comments)

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h
File src/kudu/master/hms_notification_log_listener.h:

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h@139
PS3, Line 139:   
> Done
Done


http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h@143
PS3, Line 143: const std::string&
> I suppose null bytes are never used in the notification messages. Given the
Yeah, the answer to my question was that base64 is commonly used to encode binary as text.



-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 4
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 09 Oct 2020 18:37:27 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16565/1/src/kudu/master/hms_notification_log_listener-test.cc
File src/kudu/master/hms_notification_log_listener-test.cc:

http://gerrit.cloudera.org:8080/#/c/16565/1/src/kudu/master/hms_notification_log_listener-test.cc@45
PS1, Line 45:   Status DecodeGzipMessage(const string& encoded, string* decoded) {
> warning: method 'DecodeGzipMessage' can be made static [readability-convert
Done



-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 1
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Thu, 08 Oct 2020 17:58:15 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Patch Set 4: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 4
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 09 Oct 2020 15:28:29 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/16565 )

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Patch Set 3:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h
File src/kudu/master/hms_notification_log_listener.h:

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h@139
PS3, Line 139: ra
nit: spacing, same below


http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/master/hms_notification_log_listener.h@143
PS3, Line 143: const std::string&
Should this be a byte array or slice instead of a string? What happens if there's a nullbyte in the encoded message?

Ah, looking how this is used, seems this is coming from the Thrift message itself. Still curious how this works in the face of nullbytes.


http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/util/zlib.cc
File src/kudu/util/zlib.cc:

http://gerrit.cloudera.org:8080/#/c/16565/3/src/kudu/util/zlib.cc@106
PS3, Line 106:   z_stream zs;
             :   memset(&zs, 0, sizeof(zs));
             :   zs.next_in = const_cast<uint8_t*>(compressed.data());
             :   zs.avail_in = compressed.size();
             :   ZRETURN_NOT_OK(inflateInit2(&zs, 15 + 16 /* 15 window bits, enable zlib */));
             :   Status s;
             :   do {
             :     unsigned char buf[4096];
             :     zs.next_out = buf;
             :     zs.avail_out = arraysize(buf);
             :     s = ZlibResultToStatus(inflate(&zs, Z_NO_FLUSH));
             :     if (!s.ok() && !s.IsEndOfFile()) {
             :       return s;
             :     }
             :     out->write(reinterpret_cast<char *>(buf), zs.next_out - buf);
             :   } while (zs.avail_out == 0);
             :   ZRETURN_NOT_OK(inflateEnd(&zs));
For posterity, could you add some high-level comments describing what this is doing?

I can kind of piece it together based on this, and the zpipe impl is helpful: we're running inflate() repeatedly until the output buffer isn't full, at which point we can't inflate further and must rely on inflateEnd().

The zpipe impl also runs inflateEnd() if it sees a Z_STREAM_END. Is that important?



-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 3
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Thu, 08 Oct 2020 19:46:44 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Grant Henke has removed a vote on this change.

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/16565
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 3
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

Posted by "Grant Henke (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, Andrew Wong, 

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

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

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

Change subject: KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)
......................................................................

KUDU-3201: [hms] Support gzipped HMS notifications (GzipJSONMessageEncoder)

This patch adds support for HMS notification messages encoded
via the GzipJSONMessageEncoder that was added in
HIVE-20679. It does this by decoding the base64 encoding
and decompressing the messages sent with the `gzip(json-2.0)`
format.

Because HIVE-20679 is only in Hive 4 which is unreleased,
I created a static encoded message to test the gzip functionality.
I also  manually tested this functionality on a real cluster that has
HIVE-20679.

While testing this patch I found and fixed a bug in our zlib.cc
Uncompress method. Without the fix zlib would
return a BUF_ERROR when the decompressed data fits
in the output buffer on the first call to `inflate`.

For reference I used the following post to help understand
the expected usage of `inflate`:
https://zlib.net/zlib_how.html

Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
---
M src/kudu/master/hms_notification_log_listener-test.cc
M src/kudu/master/hms_notification_log_listener.cc
M src/kudu/master/hms_notification_log_listener.h
M src/kudu/util/zlib.cc
4 files changed, 107 insertions(+), 30 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0f94e2446255e1fafb1dac9bf9ce23b81d6c0960
Gerrit-Change-Number: 16565
Gerrit-PatchSet: 4
Gerrit-Owner: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)