You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Andrew Wong (Code Review)" <ge...@cloudera.org> on 2020/03/04 21:45:28 UTC

[kudu-CR] [wip] subprocess: fix TestEchoSubprocess

Hello Attila Bukor, Hao Hao,

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

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

to review the following change.


Change subject: [wip] subprocess: fix TestEchoSubprocess
......................................................................

[wip] subprocess: fix TestEchoSubprocess

There were a number of issues with TestEchoSubprocess:
- Many tests coarsely expected timeouts, leading to the non-execution of
  many parts of the test. Instead, I wrapped executor.run() with a
  executor.runUntilTimeout() that expects the timeout, rather than
  relying on test-level expectation of timeouts.
- Initializing BufferedInputStream with the same pipe multiple times led
  to us to miss out on some bytes in the pipe. This initializes the
  BufferedInputStream once as a member.
- testMsgWithEmptyMessage() wouldn't time out because its readers were
  stuck parsing an empty pipe. This is resolved by adding more requests
  to the pipe.

wip: rebase on https://gerrit.cloudera.org/c/15074/

Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
---
M java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java
M java/kudu-subprocess/src/test/java/org/apache/kudu/subprocess/echo/TestEchoSubprocess.java
2 files changed, 46 insertions(+), 21 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>

[kudu-CR] subprocess: fix TestEchoSubprocess

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

Change subject: subprocess: fix TestEchoSubprocess
......................................................................


Patch Set 2: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 05 Mar 2020 05:13:01 +0000
Gerrit-HasComments: No

[kudu-CR] subprocess: fix TestEchoSubprocess

Posted by "Andrew Wong (Code Review)" <ge...@cloudera.org>.
Hello Attila Bukor, Kudu Jenkins, Adar Dembo, Grant Henke, Hao Hao, 

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

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

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

Change subject: subprocess: fix TestEchoSubprocess
......................................................................

subprocess: fix TestEchoSubprocess

There were a number of issues with TestEchoSubprocess:
- Many tests coarsely expected timeouts, leading to the non-execution of
  many parts of the test. Instead, I wrapped executor.run() with a
  executor.runUntilTimeout() that expects the timeout, rather than
  relying on test-level expectation of timeouts.
- Initializing BufferedInputStream with the same pipe multiple times led
  to us to miss out on some bytes in the pipe. This initializes the
  BufferedInputStream once as a member.
- testMsgWithEmptyMessage() wouldn't time out because its readers were
  stuck parsing an empty pipe. This is resolved by adding more requests
  to the pipe.

Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
---
M java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java
M java/kudu-subprocess/src/test/java/org/apache/kudu/subprocess/SubprocessTestUtil.java
M java/kudu-subprocess/src/test/java/org/apache/kudu/subprocess/echo/TestEchoSubprocess.java
3 files changed, 48 insertions(+), 22 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] [wip] subprocess: fix TestEchoSubprocess

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

Change subject: [wip] subprocess: fix TestEchoSubprocess
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java
File java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java:

http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java@36
PS1, Line 36: import com.google.common.base.*;
Nit: Avoid * import. You may need to tell Intellij not to do this by setting the value to use * super high.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 04 Mar 2020 22:12:40 +0000
Gerrit-HasComments: Yes

[kudu-CR] [wip] subprocess: fix TestEchoSubprocess

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

Change subject: [wip] subprocess: fix TestEchoSubprocess
......................................................................


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Wed, 04 Mar 2020 23:45:47 +0000
Gerrit-HasComments: No

[kudu-CR] subprocess: fix TestEchoSubprocess

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

Change subject: subprocess: fix TestEchoSubprocess
......................................................................

subprocess: fix TestEchoSubprocess

There were a number of issues with TestEchoSubprocess:
- Many tests coarsely expected timeouts, leading to the non-execution of
  many parts of the test. Instead, I wrapped executor.run() with a
  executor.runUntilTimeout() that expects the timeout, rather than
  relying on test-level expectation of timeouts.
- Initializing BufferedInputStream with the same pipe multiple times led
  to us to miss out on some bytes in the pipe. This initializes the
  BufferedInputStream once as a member.
- testMsgWithEmptyMessage() wouldn't time out because its readers were
  stuck parsing an empty pipe. This is resolved by adding more requests
  to the pipe.

Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Reviewed-on: http://gerrit.cloudera.org:8080/15362
Tested-by: Andrew Wong <aw...@cloudera.com>
Reviewed-by: Hao Hao <ha...@cloudera.com>
---
M java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java
M java/kudu-subprocess/src/test/java/org/apache/kudu/subprocess/SubprocessTestUtil.java
M java/kudu-subprocess/src/test/java/org/apache/kudu/subprocess/echo/TestEchoSubprocess.java
3 files changed, 48 insertions(+), 22 deletions(-)

Approvals:
  Andrew Wong: Verified
  Hao Hao: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 3
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)

[kudu-CR] [wip] subprocess: fix TestEchoSubprocess

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

Change subject: [wip] subprocess: fix TestEchoSubprocess
......................................................................


Patch Set 1: Code-Review+2

(1 comment)

http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java
File java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java:

http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java@36
PS1, Line 36: import com.google.common.base.*;
> Nit: Avoid * import. You may need to tell Intellij not to do this by settin
+1



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 05 Mar 2020 02:32:26 +0000
Gerrit-HasComments: Yes

[kudu-CR] subprocess: fix TestEchoSubprocess

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

Change subject: subprocess: fix TestEchoSubprocess
......................................................................


Patch Set 2:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java
File java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java:

http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java@36
PS1, Line 36: import com.google.common.base.Preconditions;
> Nit: Avoid * import. You may need to tell Intellij not to do this by settin
Ugh. Yeah.


http://gerrit.cloudera.org:8080/#/c/15362/1/java/kudu-subprocess/src/main/java/org/apache/kudu/subprocess/SubprocessExecutor.java@36
PS1, Line 36: import com.google.common.base.Preconditions;
> +1
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 05 Mar 2020 03:27:55 +0000
Gerrit-HasComments: Yes

[kudu-CR] subprocess: fix TestEchoSubprocess

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

Change subject: subprocess: fix TestEchoSubprocess
......................................................................


Patch Set 2: Verified+1

Unrelated flakies.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 05 Mar 2020 04:03:05 +0000
Gerrit-HasComments: No

[kudu-CR] subprocess: fix TestEchoSubprocess

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

Change subject: subprocess: fix TestEchoSubprocess
......................................................................


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I351ae84285fa5eb9db5dcc374dd404e475a9ddb4
Gerrit-Change-Number: 15362
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Hao Hao <ha...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)