Yingchun Lai has posted comments on this change. ( http://gerrit.cloudera.org:8080/13470 )
Change subject: [tserver] Move cell size checking to prepare phase ...................................................................... Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/13470/2//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/13470/2//COMMIT_MSG@9 PS2, Line 9: It's inefficiency to check cell size in apply phase to consult every : columns of rows > Why is it more efficient to perform this check during prepare? Can you quan In prepare phase, we can check cell size when decode data from client request, then short circuit return, without going to apply phase. However, checking cell size in apply phase, we have to traverse each row and each cell again, and construct many Slice for BINARY type. http://gerrit.cloudera.org:8080/#/c/13470/2/src/kudu/tablet/tablet.cc File src/kudu/tablet/tablet.cc: http://gerrit.cloudera.org:8080/#/c/13470/2/src/kudu/tablet/tablet.cc@545 PS2, Line 545: if (PREDICT_FALSE(enc_key_size > FLAGS_max_encoded_key_size_bytes)) { : return Status::InvalidArgument(Substitute( : "encoded primary key too large ($0 bytes, maximum is $1 bytes)", : enc_key_size, FLAGS_max_encoded_key_size_bytes)); : } > Could/should we move this too? Looks like op.key_probe is created when row I think we should, return error as early as possible is reasonable. -- To view, visit http://gerrit.cloudera.org:8080/13470 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id3e672272bb1dcf2d0ac1d96ee8a1a2d1489774c Gerrit-Change-Number: 13470 Gerrit-PatchSet: 2 Gerrit-Owner: Yingchun Lai <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Reviewer: Yingchun Lai <[email protected]> Gerrit-Comment-Date: Tue, 11 Jun 2019 09:23:27 +0000 Gerrit-HasComments: Yes
