Anupama Gupta has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/10983 )

Change subject: KUDU-1291. Efficiently support predicates on non-prefix key 
components
......................................................................


Patch Set 7:

(21 comments)

Thanks for the comments. Please review the changes.

http://gerrit.cloudera.org:8080/#/c/10983/5//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/10983/5//COMMIT_MSG@7
PS5, Line 7: KUDU-1291
> nit: s/Kudu-1291/KUDU-1291/
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/cfile/cfile_reader.h
File src/kudu/cfile/cfile_reader.h:

http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/cfile/cfile_reader.h@340
PS5, Line 340: o value index,
> document this parameter in the header file comment
Done


http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/cfile/cfile_reader.h
File src/kudu/cfile/cfile_reader.h:

http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/cfile/cfile_reader.h@343
PS4, Line 343:                        bool *exact_match, bool set_current_value 
= false);
> nit: add const specifier for the method.  Also, consider returning const re
Done


http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/cfile/cfile_reader.cc
File src/kudu/cfile/cfile_reader.cc:

http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/cfile/cfile_reader.cc@788
PS4, Line 788:
> what if prepared_blocks_ is empty?  If that the thing-that-cannot-be, add D
Done


http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/tablet/cfile_set.h
File src/kudu/tablet/cfile_set.h:

http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/tablet/cfile_set.h@248
PS4, Line 248: r_bound_idx wi
> style nit: here and elsewhere -- we tend to stick the asterisk and ampersan
Done


http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/tablet/cfile_set.cc
File src/kudu/tablet/cfile_set.cc:

http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/tablet/cfile_set.cc@399
PS4, Line 399:
> If 'spec' instance is not modified here, why not to pass it as a const refe
Done


http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/tablet/cfile_set.cc@414
PS4, Line 414: bool nonfirst_key_pred_exists = false;
> Is copying necessary here?  Why not to use const reference?
Done


http://gerrit.cloudera.org:8080/#/c/10983/4/src/kudu/tablet/cfile_set.cc@418
PS4, Line 418:
> nit: I don't think the parentheses are necessary here
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc
File src/kudu/tablet/cfile_set.cc:

http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@413
PS5, Line 413:
> nit: add punctuation to all your comments (add a period at the end of the s
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@511
PS5, Line 511:
> this kind of api doc should go into the header file, not the implementation
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@527
PS5, Line 527:
> since we are not using this, can we just make this /* exact_match= */ nullp
We cannot make it nullptr , because exact match is being de-referenced in 
functions called by SeekAtOrAfter. I have added a comment that exact_match 
value is not used after the current call.


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@565
PS5, Line 565: tig
> s/Get/Return/
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@568
PS5, Line 568:     const ColumnSchema &col = cont_row.schema()->column(i);
> remove or VLOG(2)
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@581
PS5, Line 581: rena2(1024);
> nit: use more descriptive variable names here
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@588
PS5, Line 588: let_schema(
> how about rename this to: SkipToNextScan()
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@602
PS5, Line 602: //    store the row id that represents the last relevant entry 
(upper bound) wrt the
> I'm not comfortable merging this patch without this feature
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@662
PS5, Line 662:
> exclusive upper bound
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@668
PS5, Line 668:
             :     bool exact
> what guarantees the skip_scan_upper_bound_idx_ has been set to upper_bound_
This is a valid point. I have  updated the skip_scan_upper_bound_idx_ value 
here now.


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@675
PS5, Line 675: ow
> wording nit: Check to see whether we have seeked backwards. If so, we need
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/cfile_set.cc@684
PS5, Line 684:     // We didn't find an exact match for our lower bound, so 
re-seek.
> can we convert this to a while-loop instead of a do-while-loop, now that th
Done


http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/index_skipscan-test.cc
File src/kudu/tablet/index_skipscan-test.cc:

http://gerrit.cloudera.org:8080/#/c/10983/5/src/kudu/tablet/index_skipscan-test.cc@400
PS5, Line 400:       int num_matching = GenerateData(random, num_rows, 
predicate_col_id, predicate_val);
> please add a random test case that does not put the predicate on the last c
Done. Plus, added more random tests for four and five PK columns.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I230cd5a288e28ace796b352a603e0d1bcc1e4e0f
Gerrit-Change-Number: 10983
Gerrit-PatchSet: 7
Gerrit-Owner: Anupama Gupta <anupama.gu...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Anupama Gupta <anupama.gu...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Tidy Bot
Gerrit-Comment-Date: Fri, 03 Aug 2018 17:49:45 +0000
Gerrit-HasComments: Yes

Reply via email to