Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/10777 )

Change subject: KUDU-2260: Log block manager should handle null bytes in 
metadata on crash
......................................................................


Patch Set 3:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/fs/log_block_manager-test.cc
File src/kudu/fs/log_block_manager-test.cc:

http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/fs/log_block_manager-test.cc@631
PS3, Line 631:   // a data length and its checksum, and the third is long for a 
record. The
Nit: too long


http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/fs/log_block_manager.h
File src/kudu/fs/log_block_manager.h:

http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/fs/log_block_manager.h@216
PS3, Line 216:   FRIEND_TEST(LogBlockManagerTest, TestExtraNullBytes);
Doesn't exist?


http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/util/pb_util-test.cc
File src/kudu/util/pb_util-test.cc:

http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/util/pb_util-test.cc@387
PS3, Line 387:       if (version_ == 1) {
             :         ASSERT_TRUE(s.IsCorruption()) << s.ToString();
             :       } else {
             :         ASSERT_TRUE(s.IsIncomplete()) << s.ToString();
             :       }
Nit: unify with a ternary?

  ASSERT_TRUE(version_ == 1 ? s.IsCorruption() : s.IsIncomplete()) << 
s.ToString();


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

http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/util/pb_util.cc@256
PS3, Line 256: namespace {
Isn't this section already in an anonymous namespace?


http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/util/pb_util.cc@317
PS3, Line 317:     // This can happen e.g. on ext4 in the default data=ordered 
mode, when the
             :     // filesize metadata is updated but the new data is not 
persisted.
Maybe expand this a bit and/or link to the tytso thread?


http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/util/slice.h
File src/kudu/util/slice.h:

http://gerrit.cloudera.org:8080/#/c/10777/3/src/kudu/util/slice.h@26
PS3, Line 26: #include "kudu/gutil/port.h"
Bear in mind that slice.h is part of the public API, which doesn't include 
port.h. That's why client_examples-test.sh is failing.

You'll need to find an alternate way of handling this. Perhaps adding 
ATTRIBUTE_NO_SANITIZE_THREAD to stubs.h and conditionally including it? We have 
some examples of that in various client headers.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I0af5c9dbbe28afe7a179595ad20392b99cde2a1b
Gerrit-Change-Number: 10777
Gerrit-PatchSet: 3
Gerrit-Owner: Will Berkeley <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Will Berkeley <[email protected]>
Gerrit-Comment-Date: Thu, 21 Jun 2018 18:00:51 +0000
Gerrit-HasComments: Yes

Reply via email to