David Ribeiro Alves has posted comments on this change. ( http://gerrit.cloudera.org:8080/8921 )
Change subject: KUDU-2249 give the TableRecordReader their own KuduClient to use. ...................................................................... Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/8921/1/java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduTableInputFormat.java File java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduTableInputFormat.java: http://gerrit.cloudera.org:8080/#/c/8921/1/java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduTableInputFormat.java@253 PS1, Line 253: private KuduClient getKuduClient() { : : String masterAddresses = conf.get(MASTER_ADDRESSES_KEY); : this.operationTimeoutMs = conf.getLong(OPERATION_TIMEOUT_MS_KEY, : AsyncKuduClient.DEFAULT_OPERATION_TIMEOUT_MS); : KuduClient kuduClient = new KuduClient.KuduClientBuilder(masterAddresses) : .defaultOperationTimeoutMs(operationTimeoutMs) : .build(); : KuduTableMapReduceUtil.importCredentialsFromCurrentSubject(kuduClient); : return kuduClient; : } Kudu clients cache state internally, like tablet locations. Changing this to creating a new client for each TabletRecordReader makes it so that we send a bunch more requests to the KuduMaster. Is there a way to pass the client around and still make sure we close it appropriately? -- To view, visit http://gerrit.cloudera.org:8080/8921 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I24f45ee9253790c5348cabd0afe6c6a4b6d3f3d4 Gerrit-Change-Number: 8921 Gerrit-PatchSet: 1 Gerrit-Owner: Clemens Valiente <clemens.valie...@gmail.com> Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Tue, 02 Jan 2018 22:25:13 +0000 Gerrit-HasComments: Yes