[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. ( http://gerrit.cloudera.org:8080/4491 ) Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 17: (1 comment) http://gerrit.cloudera.org:8080/#/c/4491/17//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/4491/17//COMMIT_MSG@9 PS17, Line 9: Adds `INSERT IGNORE' operation which behaves like a : normal `INSERT' except in the case when a duplicate : row error would be raised by the primary key having been : previously inserted. > So if I'm understanding you correctly, your suggestion is: Yep you have it correctly. I'll take this to the JIRA to gather feedback. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 17 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Tue, 04 Dec 2018 22:26:14 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. ( http://gerrit.cloudera.org:8080/4491 ) Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 17: (1 comment) http://gerrit.cloudera.org:8080/#/c/4491/17//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/4491/17//COMMIT_MSG@9 PS17, Line 9: Adds `INSERT IGNORE' operation which behaves like a : normal `INSERT' except in the case when a duplicate : row error would be raised by the primary key having been : previously inserted. > Hmm, I thought the feedback from Dan and MJ in KUDU-1563 was to broaden the I understand MJ's suggestion as making a very extensible framework where a client could say provide a tuple of an operation and *any error* and have them ignored. I might have misread but I wasn't sold on that. Feels like it's ripe for confusion since in some situations the error returned will change over time. I am also not sure I want to ignore every error. For example for my use case, I want to ignore DUPLICATE KEY errors but I definitely do not want to ignore any other errors because I am very concerned about data loss. However, I do think there is a middle ground where we can make this more extensible but only allow the user to ignore errors on the server side when we feel as a community there ie a valid use case for ignoring that error. In terms of making it more extensible, what makes sense to mean is: * Have a session property which defines a set of modes. eg INSERT_IGNORE_DUPLICATE_KEY, DELETE_IGNORE_MISSING_KEY, etc * Each "mode" is implemented by Kudu developers for use cases which feel is "safe" and "makes sense" * I'll add INSERT_IGNORE_DUPLICATE_KEY which behaves like this patch and then others can add more capabilities as they see fit. I think that is an easy to use interface, safe, and reduces the implementation burden for this change. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 17 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Tue, 04 Dec 2018 05:43:48 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Tidy Bot, David Ribeiro Alves, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#17). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 339 insertions(+), 70 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/17 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 17 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Tidy Bot, David Ribeiro Alves, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#16). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 343 insertions(+), 74 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/16 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 16 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Hello David Ribeiro Alves, Kudu Jenkins, Jordan Birdsell, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4522 to look at the new patch set (#16). Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. [python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M python/kudu/tests/test_client.py 4 files changed, 36 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/16 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-Change-Number: 4522 Gerrit-PatchSet: 16 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Hello David Ribeiro Alves, Kudu Jenkins, Jordan Birdsell, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4522 to look at the new patch set (#15). Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. [python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M python/kudu/tests/test_client.py 4 files changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/15 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-Change-Number: 4522 Gerrit-PatchSet: 15 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. ( http://gerrit.cloudera.org:8080/4491 ) Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 15: Test failure appears to be unrelated and flaky. The test also passed in the run on the next patch in this set. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 15 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Sun, 02 Dec 2018 16:30:30 + Gerrit-HasComments: No
[kudu-CR] Implement feature flag support on WriteRpc and add flag for INSERT IGNORE
Hello Tidy Bot, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/5241 to look at the new patch set (#5). Change subject: Implement feature flag support on WriteRpc and add flag for INSERT IGNORE .. Implement feature flag support on WriteRpc and add flag for INSERT IGNORE Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 6 files changed, 52 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/5241/5 -- To view, visit http://gerrit.cloudera.org:8080/5241 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b Gerrit-Change-Number: 5241 Gerrit-PatchSet: 5 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Tidy Bot, David Ribeiro Alves, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#15). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 344 insertions(+), 69 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/15 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 15 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] Implement feature flag support on WriteRpc and add flag for INSERT IGNORE
Hello Tidy Bot, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/5241 to look at the new patch set (#4). Change subject: Implement feature flag support on WriteRpc and add flag for INSERT IGNORE .. Implement feature flag support on WriteRpc and add flag for INSERT IGNORE Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/mini-cluster/external_mini_cluster-test.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 7 files changed, 53 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/5241/4 -- To view, visit http://gerrit.cloudera.org:8080/5241 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b Gerrit-Change-Number: 5241 Gerrit-PatchSet: 4 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] Implement feature flag support on WriteRpc and add flag for INSERT IGNORE
Hello Tidy Bot, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/5241 to look at the new patch set (#3). Change subject: Implement feature flag support on WriteRpc and add flag for INSERT IGNORE .. Implement feature flag support on WriteRpc and add flag for INSERT IGNORE Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 6 files changed, 52 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/5241/3 -- To view, visit http://gerrit.cloudera.org:8080/5241 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b Gerrit-Change-Number: 5241 Gerrit-PatchSet: 3 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241)
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Tidy Bot, David Ribeiro Alves, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#14). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 343 insertions(+), 69 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/14 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 14 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] Implement feature flag support on WriteRpc and add flag for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/5241 to look at the new patch set (#2). Change subject: Implement feature flag support on WriteRpc and add flag for INSERT IGNORE .. Implement feature flag support on WriteRpc and add flag for INSERT IGNORE Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 6 files changed, 52 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/5241/2 -- To view, visit http://gerrit.cloudera.org:8080/5241 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b Gerrit-Change-Number: 5241 Gerrit-PatchSet: 2 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Tidy Bot, David Ribeiro Alves, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#13). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 337 insertions(+), 63 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/13 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-Change-Number: 4491 Gerrit-PatchSet: 13 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Jean-Daniel Cryans, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#16). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 136 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/16 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-Change-Number: 4523 Gerrit-PatchSet: 16 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins (120)
[kudu-CR](gh-pages) Blog: Two minor tweeks to 'Getting Started with Kudu - an O'Reilly Title'
Brock Noland has uploaded this change for review. ( http://gerrit.cloudera.org:8080/11167 Change subject: Blog: Two minor tweeks to 'Getting Started with Kudu - an O'Reilly Title' .. Blog: Two minor tweeks to 'Getting Started with Kudu - an O'Reilly Title' Change-Id: Ia53f8743488cd6eedd27b48352cdfb1c323d840e --- M _posts/2018-08-06-getting-started-with-kudu-an-oreilly-title.md 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/67/11167/1 -- To view, visit http://gerrit.cloudera.org:8080/11167 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-MessageType: newchange Gerrit-Change-Id: Ia53f8743488cd6eedd27b48352cdfb1c323d840e Gerrit-Change-Number: 11167 Gerrit-PatchSet: 1 Gerrit-Owner: Brock Noland
[kudu-CR](gh-pages) Blog: Getting Started with Kudu
Hello Jordan Birdsell, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11136 to look at the new patch set (#5). Change subject: Blog: Getting Started with Kudu .. Blog: Getting Started with Kudu Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 --- A _posts/2018-08-06-getting-started-with-kudu-an-oreilly-title.md A img/2018-08-06-getting-started-with-kudu-an-oreilly-title.gif 2 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/36/11136/5 -- To view, visit http://gerrit.cloudera.org:8080/11136 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 Gerrit-Change-Number: 11136 Gerrit-PatchSet: 5 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Todd Lipcon
[kudu-CR](gh-pages) Blog: Getting Started with Kudu
Hello Jordan Birdsell, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11136 to look at the new patch set (#4). Change subject: Blog: Getting Started with Kudu .. Blog: Getting Started with Kudu Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 --- A _posts/2018-08-06-getting-started-with-kudu-an-oreilly-title.md A img/2018-08-06-getting-started-with-kudu-an-oreilly-title.gif 2 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/36/11136/4 -- To view, visit http://gerrit.cloudera.org:8080/11136 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 Gerrit-Change-Number: 11136 Gerrit-PatchSet: 4 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Todd Lipcon
[kudu-CR](gh-pages) Blog: Getting Started with Kudu
Hello Jordan Birdsell, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11136 to look at the new patch set (#3). Change subject: Blog: Getting Started with Kudu .. Blog: Getting Started with Kudu Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 --- A _posts/2018-08-06-getting-started-with-kudu-an-oreilly-title.md A img/2018-08-06-getting-started-with-kudu-an-oreilly-title.gif 2 files changed, 57 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/36/11136/3 -- To view, visit http://gerrit.cloudera.org:8080/11136 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 Gerrit-Change-Number: 11136 Gerrit-PatchSet: 3 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Todd Lipcon
[kudu-CR](gh-pages) Blog: Getting Started with Kudu
Hello Jordan Birdsell, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/11136 to look at the new patch set (#2). Change subject: Blog: Getting Started with Kudu .. Blog: Getting Started with Kudu Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 --- A _posts/2018-08-06-getting-started-with-kudu-an-oreilly-title.md A img/2018-08-06-getting-started-with-kudu-an-oreilly-title.gif 2 files changed, 57 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/36/11136/2 -- To view, visit http://gerrit.cloudera.org:8080/11136 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 Gerrit-Change-Number: 11136 Gerrit-PatchSet: 2 Gerrit-Owner: Brock Noland Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Todd Lipcon
[kudu-CR](gh-pages) Getting Started with Kudu
Brock Noland has uploaded this change for review. ( http://gerrit.cloudera.org:8080/11136 Change subject: Getting Started with Kudu .. Getting Started with Kudu Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 --- A _posts/2018-08-06-getting-started-with-kudu-an-oreilly-title.md A img/2018-08-06-getting-started-with-kudu-an-oreilly-title.gif 2 files changed, 57 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/36/11136/1 -- To view, visit http://gerrit.cloudera.org:8080/11136 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-MessageType: newchange Gerrit-Change-Id: I9503dca5e6e565be902c4090bf2996bd1960d763 Gerrit-Change-Number: 11136 Gerrit-PatchSet: 1 Gerrit-Owner: Brock Noland
[kudu-CR] WIP: clock: add a built-in NTP client implementation
Brock Noland has posted comments on this change. ( http://gerrit.cloudera.org:8080/7477 ) Change subject: WIP: clock: add a built-in NTP client implementation .. Patch Set 6: (1 comment) http://gerrit.cloudera.org:8080/#/c/7477/6/src/kudu/clock/builtin_ntp.cc File src/kudu/clock/builtin_ntp.cc: http://gerrit.cloudera.org:8080/#/c/7477/6/src/kudu/clock/builtin_ntp.cc@46 PS6, Line 46: DEFINE_string(builtin_ntp_servers, FWIW, we've found google's time servers to be more reliable then the ntp.org ones. https://developers.google.com/time/guides -- To view, visit http://gerrit.cloudera.org:8080/7477 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ieb9eee9f0334236f39617492bd6f01304d1a0255 Gerrit-Change-Number: 7477 Gerrit-PatchSet: 6 Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 01 Dec 2017 20:37:26 + Gerrit-HasComments: Yes
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 10: Yep. I've been a little busy but I plan to get back to this. Should have some time this week. Maybe even tonight. -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 10 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Jean-Daniel Cryans, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#15). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 139 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/15 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 15 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Hello Jordan Birdsell, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4522 to look at the new patch set (#10). Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. [python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M python/kudu/tests/test_client.py 4 files changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/10 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 10 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#12). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 333 insertions(+), 72 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/12 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 12 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Jean-Daniel Cryans, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#14). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 138 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/14 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 14 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] Implement feature flag support on WriteRpc and add flag for INSERT IGNORE
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/5241 Change subject: Implement feature flag support on WriteRpc and add flag for INSERT IGNORE .. Implement feature flag support on WriteRpc and add flag for INSERT IGNORE Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 6 files changed, 54 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/5241/1 -- To view, visit http://gerrit.cloudera.org:8080/5241 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I68133e9b92658e56152cdf00ba3f7f10b30e961b Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 11: (3 comments) http://gerrit.cloudera.org:8080/#/c/4491/11/src/kudu/client/batcher.cc File src/kudu/client/batcher.cc: Line 280: for (uint32_t feature : op->write_op->required_server_features()) { > hummm this smells like it should go on its own patch along with the other f Will do http://gerrit.cloudera.org:8080/#/c/4491/11/src/kudu/tablet/tablet_random_access-test.cc File src/kudu/tablet/tablet_random_access-test.cc: PS11, Line 113: int r = rand() % 3; > move 'r' and its assignment to before the outer if Done PS11, Line 114: if (r == 1) { > use switch/case Done -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 11: Hey guys, Any chance I could get a new review on this one? -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#11). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 27 files changed, 351 insertions(+), 69 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/11 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#10). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 27 files changed, 352 insertions(+), 69 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/10 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 10 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Jean-Daniel Cryans, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#11). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 139 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/11 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 11 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Jean-Daniel Cryans, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#10). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 141 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/10 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 10 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#9). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Adds `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/batcher.cc M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tserver.proto 27 files changed, 352 insertions(+), 69 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/9 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 9 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 9: I need to update the java client to send required features. -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 9 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 8: (17 comments) Updated patch should have these items addressed. http://gerrit.cloudera.org:8080/#/c/4491/8//COMMIT_MSG Commit Message: PS8, Line 9: Add's > nit: adds Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/client/client-test.cc File src/kudu/client/client-test.cc: PS8, Line 1847: insertIgnore > nit (here and elsewhere below): should be 'insert_ignore', not camelCase in Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/client/client.cc File src/kudu/client/client.cc: Line 688: > nit extra space Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/client/write_op.h File src/kudu/client/write_op.h: PS8, Line 149: A single row insert ignore to be sent to the cluster ignored on duplicate row > hum, this sentence reads weird. Done PS8, Line 151: insert ignore > capitalize INSERT IGNORE Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/common/row_operations-test.cc File src/kudu/common/row_operations-test.cc: Line 129: enc.Add(RowOperationsPB::INCLUSIVE_RANGE_UPPER_BOUND, row); > missing a 'break' here. Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/integration-tests/fuzz-itest.cc File src/kudu/integration-tests/fuzz-itest.cc: Line 319: ops->push_back({TEST_INSERT_IGNORE, row_key}); > nit: funny indentation Done Line 321: ops_pending = false; > ops_pending should be true either way (since there is something to flush) Done Line 322: data_in_mrs = false; > I don't think you should reset data_in_mrs, because it won't _remove_ data Thanks, this helped quite a bit. Hopefully the updated patch will be correct. Line 324: exists[row_key] = true; > you could just set this unconditionally Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/tablet/tablet-test-base.h File src/kudu/tablet/tablet-test-base.h: PS8, Line 328: int64_t count, : int32_t val, : TimeSeries *ts = NULL) { : > nit: indent Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/tablet/tablet-test.cc File src/kudu/tablet/tablet-test.cc: Line 620: > nit extra line Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/tablet/tablet.cc File src/kudu/tablet/tablet.cc: PS8, Line 408: default > seems it would be safer to explicitly do a 'case INSERT' here, and then hav Done Line 438: default: > same Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/tablet/tablet_metrics.cc File src/kudu/tablet/tablet_metrics.cc: PS8, Line 34: insert ignored > yea, this isn't a very clear description. I agree the count should be the n Done PS8, Line 34: insert ignored > Maybe this should be counting the number of errors that were ignored instea Done http://gerrit.cloudera.org:8080/#/c/4491/8/src/kudu/tablet/transactions/transaction.h File src/kudu/tablet/transactions/transaction.h: Line 49: int successful_insert_ignores; > does what I mentioned in the tablet metrics apply here? Done -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 8: "Another thought is to do it at the RowOperations encoding time - you're already iterating over the batches there, so it's easy to check if you've used any of the new op type and add a new out-param to indicate it" Thanks, I thought about that as well but was thinking the first was more general. I implemented the during encoding approach and it's super simple so I'll stick with that unless directed otherwise. Should have another patch up soon. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 8: >From the JIRA "The Java client currently has an option to ignore duplicate row >key errors, which is implemented by filtering the errors on the client side. >If we are going to continue to support this feature (and the consensus seems >to be that we probably should), we should promote it to a first class >operation type that is handled on the server side. This would have a modest >perf. improvement since less errors are returned, and it would allow INSERT >IGNORE ops to be mixed in the same batch as other INSERT, DELETE, UPSERT, etc. >ops." -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 8: As far as the C++ client, it looks like I can take a similar approach to the Java client (https://github.com/apache/kudu/blob/master/java/kudu-client/src/main/java/org/apache/kudu/client/KuduRpc.java#L140) and add required_features to kudu::rpc::Rpc. Then it appears I can attach them to the Rpc via the RpcController in the kudu::client:Batcher. Does that make sense? -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 8: Thanks for the tip on the RPC thing. Spent some time looking into the RPC system and looks like it's all setup for me, I just need to plugin. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#8). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 299 insertions(+), 59 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/8 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#8). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 131 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/8 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 8 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4522 to look at the new patch set (#6). Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. [python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M python/kudu/tests/test_client.py 4 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/6 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 7: (6 comments) http://gerrit.cloudera.org:8080/#/c/4523/7/java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java File java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java: Line 18: > nit: extra line Done http://gerrit.cloudera.org:8080/#/c/4523/7/java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java File java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java: PS7, Line 140: insert ignore > I think this could be documented better, like how exactly is this "ignore" Done http://gerrit.cloudera.org:8080/#/c/4523/7/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java: PS7, Line 225: final > nit: doesn't need to be final. Done PS7, Line 227: t > nit: end code comments with periods. Done PS7, Line 237: r > same Done Line 244: } > Could be interesting in the clients to test mixing different types of opera Done -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-HasComments: Yes
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 5: (2 comments) Thank you! http://gerrit.cloudera.org:8080/#/c/4522/5/python/kudu/tests/test_client.py File python/kudu/tests/test_client.py: PS5, Line 164: self.assertRaises(Exception, session.apply, op) > I think this test would now fail since the last write op will be an insert Good catch! PS5, Line 187: op = table.new_update() > Is this supposed to be new_insert_ignore? Done -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 7: (10 comments) http://gerrit.cloudera.org:8080/#/c/4491/7/src/kudu/integration-tests/fuzz-itest.cc File src/kudu/integration-tests/fuzz-itest.cc: Line 80: using client::KuduColumnSchema; > not your fault, but could you address these warnings? hard to keep track of Done Line 82: using client::KuduInsert; > warning: using decl 'KuduInsert' is unused [misc-unused-using-decls] Done Line 83: using client::KuduInsertIgnore; > warning: using decl 'KuduInsertIgnore' is unused [misc-unused-using-decls] Done Line 411: LOG(FATAL) << "r = " << r; > can you add more info to the output? i.e. what is "r". the row key might al Done http://gerrit.cloudera.org:8080/#/c/4491/7/src/kudu/tablet/tablet-test-base.h File src/kudu/tablet/tablet-test-base.h: Line 326: // Inserts "count" rows. > add: "... , ignoring errors in the case of duplicate keys." or something li Done PS7, Line 354: if (i % 2 == 0) { : CHECK_OK(writer.Insert(row)); : } else { : CHECK_OK(writer.InsertIgnore(row)); : } : } > not sure about this block. What are you trying to do here. You've clearly a I'll check after rebase, but this didn't make any tests fail since this code assumes the insert will be successful, in which case the insert ignore will always be successful. However, I can see why it might be confusing. I'll re-tool. http://gerrit.cloudera.org:8080/#/c/4491/7/src/kudu/tablet/tablet-test.cc File src/kudu/tablet/tablet-test.cc: Line 598: } > Can you also test with mixed batches? Say Insert, InsertIgnore, Insert on t Yeah I was doing something similar over in tablet-test-base but I decided to change that and move into the main test. http://gerrit.cloudera.org:8080/#/c/4491/7/src/kudu/tablet/tablet.cc File src/kudu/tablet/tablet.cc: Line 401: if (present) { > would still rather have a switch here (this was one of the intentions of th Yep gotcha, this is also better. Line 407: op->SetInsertIgnoreSucceeded(); > this method name here reads even weirder. How about: op->SetInsertErrorIgno That *is* better http://gerrit.cloudera.org:8080/#/c/4491/7/src/kudu/tablet/tablet_bootstrap.cc File src/kudu/tablet/tablet_bootstrap.cc: Line 365: // refer to INSERT IGNORE. It refers to inserts ignored during log replay > add: "... purposefully ignored due to duplicate key errors during log repla Is that true though? The `inserts_ignored` property existed before insert ignore was implemented so I assumed that `inserts_ignored` means something else here but I don't know enough about log replay to know exactly what. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: Yes
[kudu-CR] [tests] fix test which fails with two cpus and document other dependencies
Brock Noland has posted comments on this change. Change subject: [tests] fix test which fails with two cpus and document other dependencies .. Patch Set 6: (1 comment) http://gerrit.cloudera.org:8080/#/c/4446/6//COMMIT_MSG Commit Message: PS6, Line 17: 2) the fact that capacity of SharedLRUCache is higher than the capacity : configured if the configured capacity is not divisible by the the number : of CPUs. : : For example, the capacity is set here: : : FLAGS_codegen_cache_capacity = 10; : : However, if the capacity is not perfectly divisible by the number of CPUs, : actual capacity is slightly higher. : : CPU 2 => Capacity 10, 5/shard : CPU 4 => Capacity 12, 3/shard : CPU 8 => Capacity 16, 2/shard : : Due to this calculation: : : const size_t per_shard = (capacity + (num_shards - 1)) / num_shards; > I appreciate the detailed explanation here, but I'm having a hard time unde Shoot, my explanation as subpar. I will update, but in each of those examples the configured capacity is 10, but the actual capacity is 10, 12, 16. More details coming. -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-HasComments: Yes
[kudu-CR] [tests] fix test which fails with two cpus and document other dependencies
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4446 to look at the new patch set (#6). Change subject: [tests] fix test which fails with two cpus and document other dependencies .. [tests] fix test which fails with two cpus and document other dependencies Various tests fail due to lack of lsof and low resource limits, which are not documented. CodegenTest.TestCodeCache - fails on my two cpu host, t2.large increasing the cache size resolves this failure. The test is depending on: 1) key skew in the SharedLRUCache to obtain hits 2) the fact that capacity of SharedLRUCache is higher than the capacity configured if the configured capacity is not divisible by the the number of CPUs. For example, the capacity is set here: FLAGS_codegen_cache_capacity = 10; However, if the capacity is not perfectly divisible by the number of CPUs, actual capacity is slightly higher. CPU 2 => Capacity 10, 5/shard CPU 4 => Capacity 12, 3/shard CPU 8 => Capacity 16, 2/shard Due to this calculation: const size_t per_shard = (capacity + (num_shards - 1)) / num_shards; Additionally, the test depends on key skew. For example, I added some temporary logging which logged each insert. Let's look at inserts into shard 0. Under the 4 CPU case, where each shard has a capacity of 3, shard 3 only sees three inserts in pass 0 resulting in hits on the next pass: pass: 0 Insert: hash = 460595995, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Under the two CPU case, both shard's see more than 5 inserts, causing no cache hits. pass: 0 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 AFAICT increasing the capacity of the cache doesn't impact correctness. Change-Id: I81b70f63923078d449f6541a61b292517e49877d --- M docs/installation.adoc M src/kudu/codegen/codegen-test.cc M src/kudu/gutil/sysinfo.cc 3 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/46/4446/6 -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] [tests] fix test which fails with two cpus and document other dependencies
Brock Noland has posted comments on this change. Change subject: [tests] fix test which fails with two cpus and document other dependencies .. Patch Set 5: Makes sense. I thought /proc/sys/kernel/pid_max was higher on 64bit systems than the 32bit default. -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-HasComments: No
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: KUDU-1563. Add support for INSERT IGNORE .. Patch Set 7: Tests appear to be unrelated as the later patches had their tests pass. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: No
[kudu-CR] [tests] fix test which fails with two cpus and document other dependencies
Brock Noland has posted comments on this change. Change subject: [tests] fix test which fails with two cpus and document other dependencies .. Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/4446/5/docs/installation.adoc File docs/installation.adoc: Line 56: - Limits nproc and nofile greater than 32768 > which tests fail with nproc <= 32768? If this is just a test requirement, I I didn't hit nproc, I hit nofile. However, given the low default settings for both of these, I was just suggesting we just document a reasonable setting "generally" which is why I placed it here. Happy to move it somewhere else or adjust as needed. BTW, CM sets both limits to: Max processes 6553665536processes Max open files3276832768files for everything running as a child process. As such, it might make sense to ensure the most tested configuration is specified here. -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-HasComments: Yes
[kudu-CR] [tests] fix test which fails with two cpus and document other dependencies
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4446 to look at the new patch set (#5). Change subject: [tests] fix test which fails with two cpus and document other dependencies .. [tests] fix test which fails with two cpus and document other dependencies Various tests fail due to lack of lsof and low resource limits, which are not documented. CodegenTest.TestCodeCache - fails on my two cpu host, t2.large increasing the cache size resolves this failure. The test is depending on: 1) key skew in the SharedLRUCache to obtain hits 2) the fact that capacity of SharedLRUCache is higher than the capacity configured if the configured capacity is not divisible by the the number of CPUs. For example, the capacity is set here: FLAGS_codegen_cache_capacity = 10; However, if the capacity is not perfectly divisible by the number of CPUs, actual capacity is slightly higher. CPU 2 => Capacity 10, 5/shard CPU 4 => Capacity 12, 3/shard CPU 8 => Capacity 16, 2/shard Due to this calculation: const size_t per_shard = (capacity + (num_shards - 1)) / num_shards; Additionally, the test depends on key skew. For example, I added some temporary logging which logged each insert. Let's look at inserts into shard 0. Under the 4 CPU case, where each shard has a capacity of 3, shard 3 only sees three inserts in pass 0 resulting in hits on the next pass: pass: 0 Insert: hash = 460595995, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Under the two CPU case, both shard's see more than 5 inserts, causing no cache hits. pass: 0 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 AFAICT increasing the capacity of the cache doesn't impact correctness. Change-Id: I81b70f63923078d449f6541a61b292517e49877d --- M docs/installation.adoc M src/kudu/codegen/codegen-test.cc M src/kudu/gutil/sysinfo.cc 3 files changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/46/4446/5 -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#7). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 270 insertions(+), 47 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/7 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4522 to look at the new patch set (#4). Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. [python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M python/kudu/tests/test_client.py 4 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/4 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#6). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 270 insertions(+), 47 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/6 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [tests] fix test which fails with two cpus and document other dependencies
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4446 to look at the new patch set (#4). Change subject: [tests] fix test which fails with two cpus and document other dependencies .. [tests] fix test which fails with two cpus and document other dependencies Various tests fail due to lack of lsof and low resource limits, which are not documented. CodegenTest.TestCodeCache - fails on my two cpu host, t2.large increasing the cache size resolves this failure. The test is depending on: 1) key skew in the SharedLRUCache to obtain hits 2) the fact that capacity of SharedLRUCache is higher than the capacity configured if the configured capacity is not divisible by the the number of CPUs. For example, the capacity is set here: FLAGS_codegen_cache_capacity = 10; However, if the capacity is not perfectly divisible by the number of CPUs, actual capacity is slightly higher. CPU 2 => Capacity 10, 5/shard CPU 4 => Capacity 12, 3/shard CPU 8 => Capacity 16, 2/shard Due to this calculation: const size_t per_shard = (capacity + (num_shards - 1)) / num_shards; Additionally, the test depends on key skew. For example, I added some temporary logging which logged each insert. Let's look at inserts into shard 0. Under the 4 CPU case, where each shard has a capacity of 3, shard 3 only sees three inserts in pass 0 resulting in hits on the next pass: pass: 0 Insert: hash = 460595995, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Under the two CPU case, both shard's see more than 5 inserts, causing no cache hits. pass: 0 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 AFAICT increasing the capacity of the cache doesn't impact correctness. Change-Id: I81b70f63923078d449f6541a61b292517e49877d --- M docs/installation.adoc M src/kudu/codegen/codegen-test.cc M src/kudu/gutil/sysinfo.cc 3 files changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/46/4446/4 -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] [tests] fix tests - two cpus and fresh install
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4446 to look at the new patch set (#3). Change subject: [tests] fix tests - two cpus and fresh install .. [tests] fix tests - two cpus and fresh install Various tests fail due to lack of lsof and low resource limits, which are not documented. CodegenTest.TestCodeCache - fails on my two cpu host, t2.large increasing the cache size resolves this failure. The test is depending on: 1) key skew in the SharedLRUCache to obtain hits 2) the fact that capacity of SharedLRUCache is higher than the capacity configured if the configured capacity is not divisible by the the number of CPUs. For example, the capacity is set here: FLAGS_codegen_cache_capacity = 10; However, if the capacity is not perfectly divisible by the number of CPUs, actual capacity is slightly higher. CPU 2 => Capacity 10, 5/shard CPU 4 => Capacity 12, 3/shard CPU 8 => Capacity 16, 2/shard Due to this calculation: const size_t per_shard = (capacity + (num_shards - 1)) / num_shards; Additionally, the test depends on key skew. For example, I added some temporary logging which logged each insert. Let's look at inserts into shard 0. Under the 4 CPU case, where each shard has a capacity of 3, shard 3 only sees three inserts in pass 0 resulting in hits on the next pass: pass: 0 Insert: hash = 460595995, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Under the two CPU case, both shard's see more than 5 inserts, causing no cache hits. pass: 0 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 pass: 1 Insert: hash = 1886151623, shard = 0 Insert: hash = 1395239506, shard = 0 Insert: hash = 1931154674, shard = 0 Insert: hash = 460595995, shard = 0 Insert: hash = 1440596256, shard = 0 Insert: hash = 1870227699, shard = 0 Insert: hash = 1163308785, shard = 0 Insert: hash = 1980547462, shard = 0 Insert: hash = 1106104592, shard = 0 Insert: hash = 1702846352, shard = 0 Insert: hash = 1230845174, shard = 0 Insert: hash = 1903296752, shard = 0 Insert: hash = 1395526688, shard = 0 Insert: hash = 339190469, shard = 0 Insert: hash = 1540160781, shard = 0 Insert: hash = 1377131543, shard = 0 Insert: hash = 2125989246, shard = 0 Insert: hash = 326003543, shard = 0 AFAICT increasing the capacity of the cache doesn't impact correctness. Change-Id: I81b70f63923078d449f6541a61b292517e49877d --- M docs/installation.adoc M src/kudu/codegen/codegen-test.cc M src/kudu/gutil/sysinfo.cc 3 files changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/46/4446/3 -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] [java] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#5). Change subject: [java] KUDU-1563. Add support for INSERT IGNORE .. [java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 87 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/5 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [python] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4522 to look at the new patch set (#3). Change subject: [python] KUDU-1563. Add support for INSERT IGNORE .. [python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M python/kudu/tests/test_client.py 4 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/3 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#5). Change subject: KUDU-1563. Add support for INSERT IGNORE .. KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/integration-tests/fuzz-itest.cc M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet-test-base.h M src/kudu/tablet/tablet-test.cc M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/tablet_random_access-test.cc M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 24 files changed, 269 insertions(+), 47 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/5 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#4). Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. [WIP] KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. The part I am most unsure about is returning an empty OperationResultPB as I am not really sure where and how the members of that operation are used. Spelunking didn't clarify that for my newb eyes. Also need some more tests. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 20 files changed, 189 insertions(+), 34 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/4 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [WIP][java] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4523 to look at the new patch set (#3). Change subject: [WIP][java] KUDU-1563. Add support for INSERT IGNORE .. [WIP][java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation TODO - more tests Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 87 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/3 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [WIP][java] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has uploaded a new patch set (#2). Change subject: [WIP][java] KUDU-1563. Add support for INSERT IGNORE .. [WIP][java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation TODO - more tests Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 86 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/2 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [WIP][java] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/4523 Change subject: [WIP][java] KUDU-1563. Add support for INSERT IGNORE .. [WIP][java] KUDU-1563. Add support for INSERT IGNORE Implements java support for the `INSERT IGNORE' operation TODO - more tests Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java 4 files changed, 84 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/4523/1 -- To view, visit http://gerrit.cloudera.org:8080/4523 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib0cc4a533dfb01a883d347c9795c165aa8efa3fd Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland
[kudu-CR] [WIP][python] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/4522 Change subject: [WIP][python] KUDU-1563. Add support for INSERT IGNORE .. [WIP][python] KUDU-1563. Add support for INSERT IGNORE Implements python support for the `INSERT IGNORE' operation TODO - tests Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 --- M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd 3 files changed, 24 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/4522/1 -- To view, visit http://gerrit.cloudera.org:8080/4522 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6c45a50d4b87d8f7c4f0f83fbc72932d056d3a79 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#3). Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. [WIP] KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef. The part I am most unsure about is returning an empty OperationResultPB as I am not really sure where and how the members of that operation are used. Spelunking didn't clarify that for my newb eyes. Also need some more tests. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 20 files changed, 189 insertions(+), 35 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/3 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 2: (1 comment) I am going to push a new series of patches. Still a WIP though. http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/client/client-test.cc File src/kudu/client/client-test.cc: Line 1830: ASSERT_TRUE(insert == nullptr) << "Successful insert should take ownership"; > Yeah too be honest, I just copied that portion of the assertion from the te Done -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: Yes
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/tablet/tablet.cc File src/kudu/tablet/tablet.cc: Line 406: } else if (is_insert_ignore) { > seems like it's time to have an enum to replace these bools We are already comparing against and enum so I just removed these flags and use the enum directly. http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/tablet/tablet_bootstrap.cc File src/kudu/tablet/tablet_bootstrap.cc: PS2, Line 364: Note > thanks for adding this, but might be better to expand the comment a bit. Done -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: Yes
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has posted comments on this change. Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. Patch Set 2: (12 comments) Still have work todo, but wanted to wanted to get these comments out of my buffer. http://gerrit.cloudera.org:8080/#/c/4491/2/python/kudu/__init__.py File python/kudu/__init__.py: PS2, Line 18: fr > python client needs a test? Yep as noted in my WIP commit message. http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/client/client-test.cc File src/kudu/client/client-test.cc: Line 1830: ASSERT_TRUE(insert == nullptr) << "Successful insert should take ownership"; > I don't this this assertion is doing anything useful. Whether or not the in Yeah too be honest, I just copied that portion of the assertion from the test directly above. Should I remove it? Line 1842: // INSERT IGNORE does not result in error on duplicate > nit" rephrase this comment a bit better? Done Line 1848: vector rows; > anyway to consolidate the duplicated code below Done http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/common/row_operations-test.cc File src/kudu/common/row_operations-test.cc: Line 130: case 9: > curious is this actually being used somewhere in the test? I think the point of this test is to just execute the Add() method? http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/common/row_operations.cc File src/kudu/common/row_operations.cc: Line 313: const uint8_t* prototype_row_storage, > incorrect wrapping. see https://google.github.io/styleguide/cppguide.html#F Done http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/common/wire_protocol.proto File src/kudu/common/wire_protocol.proto: Line 173: // Used inserting a row and ignoring any duplicate row errors > missing a word? Done Line 174: INSERT_IGNORE = 10; > can you move this next to the plain types at the beginning, but still keep Done http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/tablet/local_tablet_writer.h File src/kudu/tablet/local_tablet_writer.h: Line 66: Status InsertIgnore(const KuduPartialRow& row) { > is this called anywhere? Should be when I finish the tests. http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/tablet/row_op.h File src/kudu/tablet/row_op.h: Line 44: void SetInsertIgnoreSucceeded(); > the impl of this does nothing but resetting the OperationResultPB, do we re If we don't reset to OperationResultPB, I get a seg fault. This part I don't really understand so I'd be very very open to suggests or even just clarifications if: 1. I am doing the right thing. 2. If the members of OperationResultPB aren't set, what happens? http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/tablet/tablet.h File src/kudu/tablet/tablet.h: Line 402: Status InsertOrInsertIgnoreOrUpsertUnlocked(WriteTransactionState *tx_state, > I'm torn whether we should change the name of this function to add the igno I did this but didn't like it. I am going to revert. http://gerrit.cloudera.org:8080/#/c/4491/2/src/kudu/tablet/tablet_metrics.h File src/kudu/tablet/tablet_metrics.h: PS2, Line 50: scoped_refptr rows_insert_ignored; > do we really need this in tablet metrics? what would be the use? Yeah I can see folding this into rows_Inserted. At the same time, I like more transparency. If you feel strongly I can remove. -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: Yes
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4491 to look at the new patch set (#2). Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. [WIP] KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef and java patch 591c9ccb2a08bcfa4c. The part I am most unsure about is returning an empty OperationResultPB as I am not really sure where and how the members of that operation are used. Spelunking didn't clarify that for my newb eyes. Also need some more tests. The python change is completely untested. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 27 files changed, 322 insertions(+), 44 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/2 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[kudu-CR] [WIP] KUDU-1563. Add support for INSERT IGNORE
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/4491 Change subject: [WIP] KUDU-1563. Add support for INSERT IGNORE .. [WIP] KUDU-1563. Add support for INSERT IGNORE Add's `INSERT IGNORE' operation which behaves like a normal `INSERT' except in the case when a duplicate row error would be raised by the primary key having been previously inserted. Follows upsert backend/c++ patch 56c431585ed7ad07ef and java patch 591c9ccb2a08bcfa4c. The part I am most unsure about is returning an empty OperationResultPB as I am not really sure where and how the members of that operation are used. Spelunking didn't clarify that for my newb eyes. Also need some more tests. The python change is completely untested. Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c --- A java/kudu-client/src/main/java/org/apache/kudu/client/InsertIgnore.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/Operation.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduSession.java M python/kudu/__init__.py M python/kudu/client.pyx M python/kudu/libkudu_client.pxd M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/write_op.cc M src/kudu/client/write_op.h M src/kudu/common/row_operations-test.cc M src/kudu/common/row_operations.cc M src/kudu/common/row_operations.h M src/kudu/common/wire_protocol.proto M src/kudu/tablet/local_tablet_writer.h M src/kudu/tablet/row_op.cc M src/kudu/tablet/row_op.h M src/kudu/tablet/tablet.cc M src/kudu/tablet/tablet.h M src/kudu/tablet/tablet_bootstrap.cc M src/kudu/tablet/tablet_metrics.cc M src/kudu/tablet/tablet_metrics.h M src/kudu/tablet/transactions/transaction.cc M src/kudu/tablet/transactions/transaction.h M src/kudu/tablet/transactions/write_transaction.cc 27 files changed, 321 insertions(+), 44 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/4491/1 -- To view, visit http://gerrit.cloudera.org:8080/4491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5bfc35e9d27bd5e2d3375b68e6e4716ed671f36c Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland
[kudu-CR] [tests] fix tests - two cpus and fresh install
Brock Noland has posted comments on this change. Change subject: [tests] fix tests - two cpus and fresh install .. Patch Set 2: That does look similar. I can look into this more. It's actually bothering me that I cannot explain exactly why it fails. -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-HasComments: No
[kudu-CR] [tests] fix tests - two cpus and fresh install
Brock Noland has posted comments on this change. Change subject: [tests] fix tests - two cpus and fresh install .. Patch Set 2: Yep sounds good to me. I haven't fully investigated why the change fixes the test for me. The cache is sharded by the numbers of cpus. Based on the following comment I was thinking I am thinking I edge case where I didn't see any hits but would with 4-procs. // Otherwise, we expect to have gotten some hits. // If our cache were a perfect LRU implementation, then we would actually // expect 0 hits here as well, since we are accessing the entries in // exactly the same order as we inserted them, and thus would evict // an entry before we look for it again. But, our LRU cache is sharded // so we expect to get some hits on the second time. based on that plus this comment: // Basic test for the CompilationManager code cache. // This runs a bunch of compilation tasks and ensures that the cache // sometimes hits on the second attempt for the same projection. I am thinking it's a safe change, but obviously important to verify that is actually a safe change. -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Brock Noland Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-HasComments: No
[kudu-CR] [tests] fix tests - two cpus and fresh install
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/4446 Change subject: [tests] fix tests - two cpus and fresh install .. [tests] fix tests - two cpus and fresh install CodegenTest.TestCodeCache - fails on my two cpu host, t2.large increasing the cache size resolves this failure. Other various tests fail due to lack of lsof and low resource limits. Change-Id: I81b70f63923078d449f6541a61b292517e49877d --- M docs/installation.adoc M src/kudu/codegen/codegen-test.cc 2 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/46/4446/1 -- To view, visit http://gerrit.cloudera.org:8080/4446 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I81b70f63923078d449f6541a61b292517e49877d Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland
[kudu-CR](gh-pages) Simple typo fix in faq: 'arge' => 'large'
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/3869 Change subject: Simple typo fix in faq: 'arge' => 'large' .. Simple typo fix in faq: 'arge' => 'large' Change-Id: I675d770f8fa484cf6fff7a7006f0dbd68eb51517 --- M faq.md 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/69/3869/1 -- To view, visit http://gerrit.cloudera.org:8080/3869 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I675d770f8fa484cf6fff7a7006f0dbd68eb51517 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: gh-pages Gerrit-Owner: Brock Noland
[kudu-CR] build: Make 'download-thirdparty.sh' resilient to failure
Brock Noland has uploaded a new patch set (#2). Change subject: build: Make 'download-thirdparty.sh' resilient to failure .. build: Make 'download-thirdparty.sh' resilient to failure Many contributors work at home on flaky internet connections. This change does two things: - Use gtar on Mac, if available, as I've found it more resilient to failures than bsdtar. For example, I just spent 20 minutes debugging a build failure in cmake which was due to a truncated tar. - Exit if the script doesn't successfully extract, currently a warning prefixed with "Error" is logged but the process is left to fail with some unknown error later on Change-Id: Ied07d236b1c9cd2eb78aef7ad372f8d835e09782 --- M thirdparty/download-thirdparty.sh 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/57/3857/2 -- To view, visit http://gerrit.cloudera.org:8080/3857 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ied07d236b1c9cd2eb78aef7ad372f8d835e09782 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] build: Make 'download-thirdparty.sh' resilient to failure
Brock Noland has uploaded a new change for review. http://gerrit.cloudera.org:8080/3857 Change subject: build: Make 'download-thirdparty.sh' resilient to failure .. build: Make 'download-thirdparty.sh' resilient to failure Many contributors work at home on flaky internet connections. This change does two things: - Use gtar on Mac, if available, as I've found it more resilient to failures than bsdtar. For example, I just spent 20 minutes debugging a build failure in cmake which was due to a truncated tar. - Exit if the script doesn't successfully extract a tar Change-Id: Ied07d236b1c9cd2eb78aef7ad372f8d835e09782 --- M thirdparty/download-thirdparty.sh 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/57/3857/1 -- To view, visit http://gerrit.cloudera.org:8080/3857 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ied07d236b1c9cd2eb78aef7ad372f8d835e09782 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Brock Noland