You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Mike Percy (Code Review)" <ge...@cloudera.org> on 2019/01/08 01:57:08 UTC

[kudu-CR] tablet: clean up MergeIterState API

Hello Adar Dembo,

I'd like you to do a code review. Please visit

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

to review the following change.


Change subject: tablet: clean up MergeIterState API
......................................................................

tablet: clean up MergeIterState API

This patch simply adds documentation and some readability cleanup to
MergeIterState, which is a helper class for the MergeIterator.

Non-API changes:
 - Add API docs to all public methods.
 - Extract the implementation of AdvanceRow() and PullNextBlock() out of
   the class declaration to make the API contract easier to quickly read
   and understand.
 - Renamed a couple of private variables to clarify row-oriented
   semantics.

API cleanup:
 - Add a public Init() method that delegates to PullNextBlock().
 - Make PullNextBlock() and IsBlockExhausted() private methods.
 - Replace exposure of the underlying iterator via iter() with a public
   AddStats() method, since stats collection was the only use of iter().

There are no functional changes in this patch.

Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
---
M src/kudu/common/generic_iterators.cc
1 file changed, 90 insertions(+), 64 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 1
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................

tablet: clean up MergeIterState API

This patch simply adds documentation and some readability cleanup to
MergeIterState, which is a helper class for the MergeIterator.

Non-API changes:
 - Add API docs to all public methods.
 - Extract the implementation of Advance() and PullNextBlock() out of
   the class declaration to make the API contract easier to quickly read
   and understand.
 - Rename a couple of private variables to clarify row-oriented
 semantics.

API cleanup:
 - Add a public Init() method that delegates to PullNextBlock().
 - Make PullNextBlock() and IsBlockExhausted() private methods.
 - Replace exposure of the underlying iterator via iter() with a public
   AddStats() method, since stats collection was the only use of iter().

There are no functional changes in this patch.

Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Reviewed-on: http://gerrit.cloudera.org:8080/12176
Reviewed-by: Adar Dembo <ad...@cloudera.com>
Tested-by: Kudu Jenkins
---
M src/kudu/common/generic_iterators.cc
1 file changed, 89 insertions(+), 64 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved
  Kudu Jenkins: Verified

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 5
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>

[kudu-CR] tablet: clean up MergeIterState API

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins, Adar Dembo, 

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

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

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

Change subject: tablet: clean up MergeIterState API
......................................................................

tablet: clean up MergeIterState API

This patch simply adds documentation and some readability cleanup to
MergeIterState, which is a helper class for the MergeIterator.

Non-API changes:
 - Add API docs to all public methods.
 - Extract the implementation of Advance() and PullNextBlock() out of
   the class declaration to make the API contract easier to quickly read
   and understand.
 - Renamed a couple of private variables to clarify row-oriented
   semantics.

API cleanup:
 - Add a public Init() method that delegates to PullNextBlock().
 - Make PullNextBlock() and IsBlockExhausted() private methods.
 - Replace exposure of the underlying iterator via iter() with a public
   AddStats() method, since stats collection was the only use of iter().

There are no functional changes in this patch.

Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
---
M src/kudu/common/generic_iterators.cc
1 file changed, 90 insertions(+), 64 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 2
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


Patch Set 3:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/12176/3/src/kudu/common/generic_iterators.cc
File src/kudu/common/generic_iterators.cc:

http://gerrit.cloudera.org:8080/#/c/12176/3/src/kudu/common/generic_iterators.cc@126
PS3, Line 126:   // Exposed for optimization purposes.
> I don't understand this part. We use remaining_in_block() to resize the cli
Oops, I thought it was just a reservation. I'll just remove this line.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Comment-Date: Wed, 09 Jan 2019 01:52:02 +0000
Gerrit-HasComments: Yes

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


Patch Set 4: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 4
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Comment-Date: Wed, 09 Jan 2019 05:33:05 +0000
Gerrit-HasComments: No

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


Patch Set 3:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/12176/2/src/kudu/common/generic_iterators.cc
File src/kudu/common/generic_iterators.cc:

http://gerrit.cloudera.org:8080/#/c/12176/2/src/kudu/common/generic_iterators.cc@159
PS2, Line 159: Status MergeIterState::Advance() {
This is copy-pasted out of the class declaration. No changes except the noted member variable renames and removal of the else-after-return previously on L108 due to being flagged by clang-tidy.


http://gerrit.cloudera.org:8080/#/c/12176/2/src/kudu/common/generic_iterators.cc@178
PS2, Line 178: Status MergeIterState::PullNextBlock() {
This is literally copy-pasted out of the class declaration; no changes except as required by the member variable renames.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Comment-Date: Tue, 08 Jan 2019 02:06:15 +0000
Gerrit-HasComments: Yes

[kudu-CR] tablet: clean up MergeIterState API

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins, Adar Dembo, 

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

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

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

Change subject: tablet: clean up MergeIterState API
......................................................................

tablet: clean up MergeIterState API

This patch simply adds documentation and some readability cleanup to
MergeIterState, which is a helper class for the MergeIterator.

Non-API changes:
 - Add API docs to all public methods.
 - Extract the implementation of Advance() and PullNextBlock() out of
   the class declaration to make the API contract easier to quickly read
   and understand.
 - Rename a couple of private variables to clarify row-oriented
 semantics.

API cleanup:
 - Add a public Init() method that delegates to PullNextBlock().
 - Make PullNextBlock() and IsBlockExhausted() private methods.
 - Replace exposure of the underlying iterator via iter() with a public
   AddStats() method, since stats collection was the only use of iter().

There are no functional changes in this patch.

Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
---
M src/kudu/common/generic_iterators.cc
1 file changed, 90 insertions(+), 64 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/12176/3
-- 
To view, visit http://gerrit.cloudera.org:8080/12176
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


Patch Set 3: Code-Review+2

(1 comment)

http://gerrit.cloudera.org:8080/#/c/12176/3/src/kudu/common/generic_iterators.cc
File src/kudu/common/generic_iterators.cc:

http://gerrit.cloudera.org:8080/#/c/12176/3/src/kudu/common/generic_iterators.cc@126
PS3, Line 126:   // Exposed for optimization purposes.
I don't understand this part. We use remaining_in_block() to resize the client's RowBlock; isn't that necessary for correctness?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Comment-Date: Tue, 08 Jan 2019 18:55:16 +0000
Gerrit-HasComments: Yes

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


Patch Set 3:

Overriding Jenkins; the failures were due to two known flakies: KUDU-1736 and KUDU-2624


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Comment-Date: Tue, 08 Jan 2019 02:41:17 +0000
Gerrit-HasComments: No

[kudu-CR] tablet: clean up MergeIterState API

Posted by "Mike Percy (Code Review)" <ge...@cloudera.org>.
Hello Kudu Jenkins, Adar Dembo, 

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

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

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

Change subject: tablet: clean up MergeIterState API
......................................................................

tablet: clean up MergeIterState API

This patch simply adds documentation and some readability cleanup to
MergeIterState, which is a helper class for the MergeIterator.

Non-API changes:
 - Add API docs to all public methods.
 - Extract the implementation of Advance() and PullNextBlock() out of
   the class declaration to make the API contract easier to quickly read
   and understand.
 - Rename a couple of private variables to clarify row-oriented
 semantics.

API cleanup:
 - Add a public Init() method that delegates to PullNextBlock().
 - Make PullNextBlock() and IsBlockExhausted() private methods.
 - Replace exposure of the underlying iterator via iter() with a public
   AddStats() method, since stats collection was the only use of iter().

There are no functional changes in this patch.

Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
---
M src/kudu/common/generic_iterators.cc
1 file changed, 89 insertions(+), 64 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 4
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>

[kudu-CR] tablet: clean up MergeIterState API

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

Change subject: tablet: clean up MergeIterState API
......................................................................


Patch Set 3: Verified+1


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie3f821dc06ddbe3f7ef018eec15b1993cde7e7e0
Gerrit-Change-Number: 12176
Gerrit-PatchSet: 3
Gerrit-Owner: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Comment-Date: Tue, 08 Jan 2019 02:41:28 +0000
Gerrit-HasComments: No