[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Grant Henke has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/11547 ) Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 Reviewed-on: http://gerrit.cloudera.org:8080/11547 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java D java/kudu-client/src/test/java/org/apache/kudu/client/BaseKuduTest.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java A java/kudu-client/src/test/java/org/apache/kudu/test/KuduTestHarness.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apac
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11547 ) Change subject: [test] Move BaseKuduTest to a Junit Rule .. Patch Set 7: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/11547 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 Gerrit-Change-Number: 11547 Gerrit-PatchSet: 7 Gerrit-Owner: Grant Henke Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Grant Henke Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Comment-Date: Tue, 02 Oct 2018 18:48:19 + Gerrit-HasComments: No
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/11547 ) Change subject: [test] Move BaseKuduTest to a Junit Rule .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java File java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java@43 PS1, Line 43: public class KuduRule extends ExternalResource { > I don't think so. Add a class-level comment with sample usage and that shou Done -- To view, visit http://gerrit.cloudera.org:8080/11547 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 Gerrit-Change-Number: 11547 Gerrit-PatchSet: 1 Gerrit-Owner: Grant Henke Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Grant Henke Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Comment-Date: Tue, 02 Oct 2018 18:24:59 + Gerrit-HasComments: Yes
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Hello Mike Percy, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11547 to look at the new patch set (#7). Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java D java/kudu-client/src/test/java/org/apache/kudu/client/BaseKuduTest.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java A java/kudu-client/src/test/java/org/apache/kudu/test/KuduTestHarness.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKu
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11547 ) Change subject: [test] Move BaseKuduTest to a Junit Rule .. Patch Set 6: (1 comment) > I agree we could make the rule more flexible to not require setting up a > cluster. Given this patch is fairly large and I have a few changes that need > this, do you mind if I do that as a follow on change? Sure. You'll have to remove the RetryRules you've sprinkled in, but that's very little churn so it's fine with me. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java File java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java@43 PS1, Line 43: > I agree, naming this was hard for me and I expected to get some feedback on I don't think so. Add a class-level comment with sample usage and that should be good enough. -- To view, visit http://gerrit.cloudera.org:8080/11547 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 Gerrit-Change-Number: 11547 Gerrit-PatchSet: 6 Gerrit-Owner: Grant Henke Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Grant Henke Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Comment-Date: Mon, 01 Oct 2018 23:27:17 + Gerrit-HasComments: Yes
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Hello Mike Percy, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11547 to look at the new patch set (#6). Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java R java/kudu-client/src/test/java/org/apache/kudu/test/KuduTestHarness.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/ap
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Hello Mike Percy, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11547 to look at the new patch set (#5). Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java R java/kudu-client/src/test/java/org/apache/kudu/test/KuduTestHarness.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/ap
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Hello Mike Percy, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11547 to look at the new patch set (#4). Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java R java/kudu-client/src/test/java/org/apache/kudu/test/KuduTestHarness.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/ap
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Hello Mike Percy, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11547 to look at the new patch set (#2). Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java R java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/ku
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Hello Mike Percy, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11547 to look at the new patch set (#3). Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java R java/kudu-client/src/test/java/org/apache/kudu/test/KuduTestHarness.java M java/kudu-client/src/test/java/org/apache/kudu/util/KuduBinaryLocator.java M java/kudu-client/src/test/java/org/apache/kudu/util/TestNetUtil.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/j
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/11547 ) Change subject: [test] Move BaseKuduTest to a Junit Rule .. Patch Set 1: (21 comments) I agree we could make the rule more flexible to not require setting up a cluster. Given this patch is fairly large and I have a few changes that need this, do you mind if I do that as a follow on change? http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java File java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java@49 PS1, Line 49: public KuduRule kudu = new KuduRule(); > 'kudu' is a pretty vague noun to use for this thing. If you end up renaming I agree. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java File java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java@44 PS1, Line 44: public LocatedTablet(RemoteTablet tablet) { > Hmm, doesn't this suggest that applications could construct these? But that Done http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java File java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java@56 PS1, Line 56: public class RemoteTablet implements Comparable { > Likewise, can we annotate this as being public only to support KuduRule bei We annotate that RemoteTable is a private API. I don't think I should note the exact location it's used because that is documentation easily subject to being wrong overtime and finding where it is used is easy. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java@54 PS1, Line 54: private KuduClient client; : private AsyncKuduClient asyncClient; > What's the purpose of this indirection? Why not go to 'kudu' directly for t Mainly this prevented me from needing modify a ton of test cases. Any new tests would likely just use the client directly from the harness without this indirection. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java@35 PS1, Line 35: public class TestConnectToCluster { > This test also doesn't use the retry rule. Done http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java@49 PS1, Line 49: MiniKuduCluster cluster = new MiniKuduCluster.MiniKuduClusterBuilder() > It'd be safer for these tests to get the base cluster builder and modify it I didn't change this, but it could be address in a follow on patch. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java@30 PS1, Line 30: public class TestConnectionCache { > No retry rule. Done http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java@28 PS1, Line 28: public class TestMiniKuduCluster { > This test isn't configured with KuduRule, which means it's also not configu Done http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java@27 PS1, Line 27: public class TestNegotiation { > No retry rule. I planned to migrate any tests not currently using BaseKuduTest/KuduRule in follow up patches. I will add a retry rule for now, but it should get replaced.
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/11547 ) Change subject: [test] Move BaseKuduTest to a Junit Rule .. Patch Set 1: (21 comments) I think composing RetryRule within KuduRule makes sense, but rather than leaving it up to authors to decide which to use, I think it'd be simpler if we enforced (in code review) that every test use KuduRule. Which means if it's important to allow tests to manage their own miniclusters, KuduRule should be modified to support not building a cluster. But, I suspect it'd be more clean to further parameterize KuduRule such that all custom minicluster management could be done there. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java File java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java@49 PS1, Line 49: public KuduRule kudu = new KuduRule(); 'kudu' is a pretty vague noun to use for this thing. If you end up renaming KuduRule to KuduTestFoo as I suggested in a different comment, I'd use the foo as the name of the instance. So for example if you use KuduTestHarness, this should be called 'harness'. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java File java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java@44 PS1, Line 44: public LocatedTablet(RemoteTablet tablet) { Hmm, doesn't this suggest that applications could construct these? But that would be useless since there are no public APIs that accept LocatedTablets. Can you annotate this in a way that suggests that it's only for tests? http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java File java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java@56 PS1, Line 56: public class RemoteTablet implements Comparable { Likewise, can we annotate this as being public only to support KuduRule being in a separate package? http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java@54 PS1, Line 54: private KuduClient client; : private AsyncKuduClient asyncClient; What's the purpose of this indirection? Why not go to 'kudu' directly for the clients? I get that it's useful as shorthand, but when reviewing this my first thought was that these must be customized from the clients provided by 'kudu' in some way. This applies to some of other other tests too. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java@35 PS1, Line 35: public class TestConnectToCluster { This test also doesn't use the retry rule. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java@49 PS1, Line 49: MiniKuduCluster cluster = new MiniKuduCluster.MiniKuduClusterBuilder() It'd be safer for these tests to get the base cluster builder and modify it. Granted, that'd have no real effect (since the base builder only sets the number of servers), but it'd avoid problems in the future if someone adds a property to the base builder expecting it to apply universally. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java@30 PS1, Line 30: public class TestConnectionCache { No retry rule. http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java: http://gerrit.cloudera.org:8080/#/c/11547/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java@28 PS1, Line 28: public class TestMiniKuduCluster { This test isn't configured wit
[kudu-CR] [test] Move BaseKuduTest to a Junit Rule
Grant Henke has uploaded this change for review. ( http://gerrit.cloudera.org:8080/11547 Change subject: [test] Move BaseKuduTest to a Junit Rule .. [test] Move BaseKuduTest to a Junit Rule This patch moves all of BaseKuduTest to a Junit Rule. This avoids inheritance for tests and allows more interesting test composition. Additionally I added method level annotations that can be used to modify the Kudu mini cluster configs on a per test method basis. I changed the tests in TestKuduClient to use the annotations, and will migrate other tests in follow on patches. Change-Id: I32c83b47a576377b924ea41dbeaf78ce2b75e4c4 --- M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITExportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportCsv.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquet.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITImportParquetPreCheck.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITIntegrationTestBigLinkedList.java M java/kudu-client-tools/src/test/java/org/apache/kudu/mapreduce/tools/ITRowCounter.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java M java/kudu-client/src/main/java/org/apache/kudu/client/RemoteTablet.java D java/kudu-client/src/test/java/org/apache/kudu/client/BaseKuduTest.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITClientStress.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITNonFaultTolerantScanner.java M java/kudu-client/src/test/java/org/apache/kudu/client/ITScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAlterTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquire.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestAuthnTokenReacquireOpen.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestClientFailoverSupport.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectToCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestConnectionCache.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHandleTooBusy.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestHybridTime.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMasterFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMiniKuduCluster.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestMultipleLeaderFailover.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowErrors.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestRowResult.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanPredicate.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurity.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestSecurityContextRealUser.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestStatistics.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestTimeouts.java A java/kudu-client/src/test/java/org/apache/kudu/test/KuduRule.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/AvroKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KeyedKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/KuduSinkTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerParseErrorTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume/sink/RegexpKuduOperationsProducerTest.java M java/kudu-flume-sink/src/test/java/org/apache/kudu/flume