[kudu-CR] [java client] Fix GetTableLocations error handling
Kudu Jenkins has posted comments on this change. Change subject: [java client] Fix GetTableLocations error handling .. Patch Set 4: Build Started http://104.196.14.100/job/kudu-gerrit/1830/ -- To view, visit http://gerrit.cloudera.org:8080/3295 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I79d246a83e9f0071063a23fb9a8d4b4c0220e507 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Binglin ChangGerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: No
[kudu-CR] [java client] Fix GetTableLocations error handling
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/3295 to look at the new patch set (#4). Change subject: [java client] Fix GetTableLocations error handling .. [java client] Fix GetTableLocations error handling When GetTableLocations get an error, e.g. table not found, in some scenario the callback will silently drop the error, not notifying the RPC which triggered this GetTableLocations call, causing the RPC to hang. This usually happens when user is inserting data, but underlying table is deleted and recreated. Change-Id: I79d246a83e9f0071063a23fb9a8d4b4c0220e507 --- M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java A java/kudu-client/src/main/java/org/kududb/client/ListTabletsRequest.java A java/kudu-client/src/main/java/org/kududb/client/ListTabletsResponse.java M java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduSession.java 4 files changed, 157 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/95/3295/4 -- To view, visit http://gerrit.cloudera.org:8080/3295 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I79d246a83e9f0071063a23fb9a8d4b4c0220e507 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Binglin ChangGerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] Update Java client for new master GetTableLocations semantics
Dan Burkert has posted comments on this change. Change subject: Update Java client for new master GetTableLocations semantics .. Patch Set 2: (1 comment) The changes I made today have been made significantly simpler by building on top of https://gerrit.cloudera.org/#/c/3386/. I don't think any of the review comments still apply. There still isn't a lot of explicit testing of this change, except that these codepaths are hit in pretty much every operation involving a tablet. http://gerrit.cloudera.org:8080/#/c/3303/2/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java: Line 1134: if (response.getError().getCode() == Master.MasterErrorPB.Code.TABLET_NOT_RUNNING) { > IIUC you're relying on existing tests to pass to verify this new check? No, the new tests will hit this codepath in the case where the tablets are not yet created when we start calling syncLocateTable. The behavior should here is just a retry, so no special logic is needed in the tests themselves. -- To view, visit http://gerrit.cloudera.org:8080/3303 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] [java-client] use tablet cache for locateTablet calls
Kudu Jenkins has posted comments on this change. Change subject: [java-client] use tablet cache for locateTablet calls .. Patch Set 1: Build Started http://104.196.14.100/job/kudu-gerrit/1829/ -- To view, visit http://gerrit.cloudera.org:8080/3386 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I78b5d400778547a9ee090111663677901dbadd98 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: No
[kudu-CR] Update Java client for new master GetTableLocations semantics
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/3303 to look at the new patch set (#3). Change subject: Update Java client for new master GetTableLocations semantics .. Update Java client for new master GetTableLocations semantics The Java client was relying on the master returning an empty tablet locations response when the table was still in the process of being created. Now, the master returns a specific error. This code fixes the table locations lookup code in AsyncKuduClient for look for that specific error code. This change isn't tested since the locateTablets codepath is well covered by existing tests. Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf --- M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java M java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java 2 files changed, 45 insertions(+), 29 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/03/3303/3 -- To view, visit http://gerrit.cloudera.org:8080/3303 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [java-client] use tablet cache for locateTablet calls
Dan Burkert has uploaded a new change for review. http://gerrit.cloudera.org:8080/3386 Change subject: [java-client] use tablet cache for locateTablet calls .. [java-client] use tablet cache for locateTablet calls This simplifies and improves the performance of AsyncKuduClient::locateTable by using the client's existing tablet cache. The semantics of locateTable are changed slightly- the end key is now treated as an exclusive key instead of inclusive. This is a breaking change for the public KuduTable::locateTable methods. These methods are a holdover from the pre-scan token era, and should almost certainly be deprecated. To use correctly they require great knowledge of Kudu's internal partitioning logic. I'm not too worried about making this breaking change since the API is pretty much impossible to use to begin with, and no one is using it (except for the scan tokens impl, and it was already treating the end key as exclusive). Change-Id: I78b5d400778547a9ee090111663677901dbadd98 --- M docs/release_notes.adoc M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/kududb/client/KuduTable.java M java/kudu-client/src/main/java/org/kududb/client/LocatedTablet.java M java/kudu-client/src/test/java/org/kududb/client/TestKuduTable.java 5 files changed, 109 insertions(+), 86 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/86/3386/1 -- To view, visit http://gerrit.cloudera.org:8080/3386 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I78b5d400778547a9ee090111663677901dbadd98 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert
[kudu-CR] Improvements and corrections to Impala CREATE TABLE examples
Casey Ching has posted comments on this change. Change subject: Improvements and corrections to Impala CREATE TABLE examples .. Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/3376/1/docs/kudu_impala_integration.adoc File docs/kudu_impala_integration.adoc: Line 501: DISTRIBUTE BY HASH (id) INTO 4 BUCKETS > Does Impala allow this? We have been moving away from any kind of implicit Alright that's fine with me. Just filed https://issues.cloudera.org/browse/IMPALA-3747 for the change. -- To view, visit http://gerrit.cloudera.org:8080/3376 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Misty Stanley-JonesGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Casey Ching Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Misty Stanley-Jones Gerrit-HasComments: Yes
[kudu-CR] Update Java client for new master GetTableLocations semantics
Adar Dembo has posted comments on this change. Change subject: Update Java client for new master GetTableLocations semantics .. Patch Set 2: (4 comments) http://gerrit.cloudera.org:8080/#/c/3303/2/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java: Line 1135: // The table is most likely still being create. Nit: 'created' was correct. Line 1136: LOG.debug("Table {} has a non-running tablet", tableId); Does this automatically include backoff? Line 1137: return loopLocateTable(tableId, startPartitionKey, endPartitionKey, Is there an upper bound on the recursive depth here? I suppose we already had that problem before (L1164-1165) but I'm curious to know whether either of these are safe. http://gerrit.cloudera.org:8080/#/c/3303/2/java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java File java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java: Line 249: assertTrue("unreachable", false); > use fail() Better yet, put it inside the try {} itself after syncLocateTable(). Then you don't need to return from the catch. -- To view, visit http://gerrit.cloudera.org:8080/3303 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] Improvements and corrections to Impala CREATE TABLE examples
Hello Casey Ching, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/3376 to look at the new patch set (#2). Change subject: Improvements and corrections to Impala CREATE TABLE examples .. Improvements and corrections to Impala CREATE TABLE examples Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c --- M docs/kudu_impala_integration.adoc 1 file changed, 18 insertions(+), 12 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/76/3376/2 -- To view, visit http://gerrit.cloudera.org:8080/3376 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Misty Stanley-JonesGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Casey Ching Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Misty Stanley-Jones
[kudu-CR] Improvements and corrections to Impala CREATE TABLE examples
Kudu Jenkins has posted comments on this change. Change subject: Improvements and corrections to Impala CREATE TABLE examples .. Patch Set 2: Build Started http://104.196.14.100/job/kudu-gerrit/1827/ -- To view, visit http://gerrit.cloudera.org:8080/3376 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Misty Stanley-JonesGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Casey Ching Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Misty Stanley-Jones Gerrit-HasComments: No
[kudu-CR] Improvements and corrections to Impala CREATE TABLE examples
Misty Stanley-Jones has posted comments on this change. Change subject: Improvements and corrections to Impala CREATE TABLE examples .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/3376/1/docs/kudu_impala_integration.adoc File docs/kudu_impala_integration.adoc: Line 407: DISTRIBUTE BY HASH(ts) INTO 16 BUCKETS > Nit: separate "HASH" and "(ts)" with a space. Done Line 501: DISTRIBUTE BY HASH (id) INTO 4 BUCKETS > The "(id)" isn't needed here, all key columns is the default. Maybe remove Done -- To view, visit http://gerrit.cloudera.org:8080/3376 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I093972a7b806787a8c72634851796eebb5e1ae4c Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Misty Stanley-JonesGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Casey Ching Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Misty Stanley-Jones Gerrit-HasComments: Yes
[kudu-CR] ubsan: use our own libstdcxx
Kudu Jenkins has posted comments on this change. Change subject: ubsan: use our own libstdcxx .. Patch Set 2: Build Started http://104.196.14.100/job/kudu-gerrit/1826/ -- To view, visit http://gerrit.cloudera.org:8080/2904 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I54f49d808aeb97d93d247a46a93161a1634921de Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd LipconGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: No
[kudu-CR] Update Java client for new master GetTableLocations semantics
Jean-Daniel Cryans has posted comments on this change. Change subject: Update Java client for new master GetTableLocations semantics .. Patch Set 2: (3 comments) http://gerrit.cloudera.org:8080/#/c/3303/2/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java: Line 1134: if (response.getError().getCode() == Master.MasterErrorPB.Code.TABLET_NOT_RUNNING) { IIUC you're relying on existing tests to pass to verify this new check? http://gerrit.cloudera.org:8080/#/c/3303/2/java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java File java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java: Line 203:new byte[] { (byte) 0x80, 0x00, 0x00, 0x32 }, Got some long lines here and below. Line 249: assertTrue("unreachable", false); use fail() -- To view, visit http://gerrit.cloudera.org:8080/3303 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] Update Java client for new master GetTableLocations semantics
Dan Burkert has posted comments on this change. Change subject: Update Java client for new master GetTableLocations semantics .. Patch Set 1: (1 comment) Updated to make the similar change for the locate tablets codepath, since it's pretty much duplicated logic. I added tests for locate tablets, I think the codepath for normal tablet lookup is quite well tested by existing tests (pretty much everything has to locate tablets). http://gerrit.cloudera.org:8080/#/c/3303/1/java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java File java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java: Line 1045: new GetTableLocationsRequest(masterTable, partitionKey, null, tableId); > This is more of the "leave the end key blank so we'll read ahead other loca Done -- To view, visit http://gerrit.cloudera.org:8080/3303 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] Update Java client for new master GetTableLocations semantics
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/3303 to look at the new patch set (#2). Change subject: Update Java client for new master GetTableLocations semantics .. Update Java client for new master GetTableLocations semantics The Java client was relying on the master returning an empty tablet locations response when the table was still in the process of being created. Now, the master returns a specific error. This code fixes the table locations lookup code in AsyncKuduClient for look for that specific error code. Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf --- M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java M java/kudu-client/src/test/java/org/kududb/client/TestAsyncKuduClient.java 2 files changed, 159 insertions(+), 39 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/03/3303/2 -- To view, visit http://gerrit.cloudera.org:8080/3303 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I80bf5661aed1ba435800211411b3273874e5bbcf Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [java client] Fix GetTableLocations error handling
Jean-Daniel Cryans has posted comments on this change. Change subject: [java client] Fix GetTableLocations error handling .. Patch Set 3: (2 comments) http://gerrit.cloudera.org:8080/#/c/3295/3/java/kudu-client/src/main/java/org/kududb/client/ListTabletsResponse.java File java/kudu-client/src/main/java/org/kududb/client/ListTabletsResponse.java: Line 24: @InterfaceAudience.Public I would mark it private since we're not exposing anyway of using it. PS3, Line 39: sL nit: Tablet* -- To view, visit http://gerrit.cloudera.org:8080/3295 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I79d246a83e9f0071063a23fb9a8d4b4c0220e507 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Binglin ChangGerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] ITBLL: Specify all possible columns to partition on
Jean-Daniel Cryans has submitted this change and it was merged. Change subject: ITBLL: Specify all possible columns to partition on .. ITBLL: Specify all possible columns to partition on key2 may be used as a partitioning column as well, if more than one tablet is specified. Change-Id: Ibf18771f7d2dc6e070a792ccfdd1f4069a3b0d91 Reviewed-on: http://gerrit.cloudera.org:8080/3380 Tested-by: Kudu Jenkins Reviewed-by: Jean-Daniel Cryans --- M java/kudu-client-tools/src/main/java/org/kududb/mapreduce/tools/IntegrationTestBigLinkedList.java 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jean-Daniel Cryans: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/3380 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ibf18771f7d2dc6e070a792ccfdd1f4069a3b0d91 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Mike PercyGerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins