[kudu-CR] KUDU-1696. Daemons should dump their version info to the INFO log at startup
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4733 to look at the new patch set (#2). Change subject: KUDU-1696. Daemons should dump their version info to the INFO log at startup .. KUDU-1696. Daemons should dump their version info to the INFO log at startup In addition to adding full version info on tserver and master startup, I've added logging of command line arguments as suggested in the ticket. Although the initial idea was to log only flags different from their defaults, I merely implemented logging of all given command line arguments (after they're successfully parsed by GFlags). The reasons are: a) some flags differ from their defaults explicitly, like FLAG_rpc_bind_addresses in master_main.cc, and b) others do it that way and it seems good enough, right? Here is what it looks like in ts log now, for example: I1016 23:17:21.764128 10547 tablet_server_main.cc:55] Tablet server executed with: --unlock_experimental_flags --log_dir=/tmp/kudu/whzdP6lK --fs_wal_dir=/tmp/kudu/whzdP6lK/ts --fs_data_dirs=/tmp/kudu/whzdP6lK/ts --rpc_bind_addresses=127.0.0.1 --local_ip_for_outbound_sockets=127.0.0.1 --webserver_interface=localhost --webserver_port=8051 --tserver_master_addrs=127.0.0.1 Tablet server version: kudu 1.1.0-SNAPSHOT revision 0c52f161b4504480adcb9e06b7bb0bc5b3e192b0-dirty build type RELEASE built by max at 16 Oct 2016 16:24:01 MSK on destr-workspace Change-Id: I846827c53e74ca364af61c690bf85af8a8f28601 --- M src/kudu/master/master_main.cc M src/kudu/tserver/tablet_server_main.cc M src/kudu/util/CMakeLists.txt A src/kudu/util/flags-test.cc M src/kudu/util/flags.cc M src/kudu/util/flags.h 6 files changed, 95 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/33/4733/2 -- To view, visit http://gerrit.cloudera.org:8080/4733 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I846827c53e74ca364af61c690bf85af8a8f28601 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Maxim Smyatkin Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot
[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] 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-1696. Daemons should dump their version info to the INFO log at startup
Todd Lipcon has posted comments on this change. Change subject: KUDU-1696. Daemons should dump their version info to the INFO log at startup .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/4733/2/src/kudu/util/flags.cc File src/kudu/util/flags.cc: Line 360: string FormatCommandLineFlags(int argc, char** argv) { the problem with this is that it won't dump flags that are specified from a flagsfile. For daemons, it's often the case that the only command line flag is --flagsfile /foo/bar, so it would be good to dump those, even if it means that we might also end up dumping a few things where we overrode default. -- To view, visit http://gerrit.cloudera.org:8080/4733 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I846827c53e74ca364af61c690bf85af8a8f28601 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Maxim Smyatkin Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] ITBLL: use a faster PRNG
Todd Lipcon has submitted this change and it was merged. Change subject: ITBLL: use a faster PRNG .. ITBLL: use a faster PRNG The SecureRandom PRNG is very very slow. Since we don't need cryptographic random numbers, we can use a simpler random. This switches to Xoroshiro128+, which is much faster but still has a long period (2^128) necessary to avoid collisions. The implementation is from Squidlib[1] which is Apache licensed. The file itself has a license header indicating it is public domain. The original C implementation is also in the public domain[2]. Given that, I didn't reference this in LICENSE.txt or NOTICE. It's copy-pasted rather than introduced as a dependency because SquidLib is a library for writing turn-based games in Swing -- it just happens to have a good RNG in it. [1] https://github.com/SquidPony/SquidLib/blob/master/squidlib-util/src/main/java/squidpony/squidmath/XoRoRNG.java at revision b4fb31efe527d3298b8f37f3cc72e957579ad6e3 [2] http://xoroshiro.di.unimi.it/xoroshiro128plus.c Change-Id: I2f51664af25b9fb4309dd78556e954bf483d22c0 Reviewed-on: http://gerrit.cloudera.org:8080/4731 Tested-by: Kudu Jenkins Reviewed-by: Jean-Daniel Cryans --- M java/kudu-client-tools/src/main/java/org/apache/kudu/mapreduce/tools/IntegrationTestBigLinkedList.java 1 file changed, 45 insertions(+), 2 deletions(-) Approvals: Jean-Daniel Cryans: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4731 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I2f51664af25b9fb4309dd78556e954bf483d22c0 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1649 - [python] Add Binary Type Support
Todd Lipcon has posted comments on this change. Change subject: KUDU-1649 - [python] Add Binary Type Support .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/4653/2/python/kudu/client.pyx File python/kudu/client.pyx: PS2, Line 2020: if isinstance(value, unicode): : value = value.encode('utf8') hrm, I'm not sure on this. If it's a binary column, shouldn't we force the user to explicitly encode? ie throw an error if they pass unicode? http://gerrit.cloudera.org:8080/#/c/4653/2/python/kudu/tests/util.py File python/kudu/tests/util.py: PS2, Line 222: Иордания haha -- To view, visit http://gerrit.cloudera.org:8080/4653 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib13539d040b754399c13031003a2cf64c71ba151 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Jordan Birdsell Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] [IWYU] WIP: common/gutil/util/rpc
Alexey Serbin has uploaded a new change for review. http://gerrit.cloudera.org:8080/4738 Change subject: [IWYU] WIP: common/gutil/util/rpc .. [IWYU] WIP: common/gutil/util/rpc This are changes for the included headers recommended by IWYU (taken with a grain of salt, though). More is coming soon. However, the main idea is the following: first pass is this almost-all-manual approach, and then since we have IWYU pragmas in place and appropriate mappings established (especiall for the boost library), it should be much less manual involvement. Change-Id: I6923091be36a1c03fac34dd73e6b17e17ac9ceaa --- M src/kudu/codegen/code_cache.cc M src/kudu/codegen/code_cache.h M src/kudu/codegen/precompiled.cc M src/kudu/common/column_predicate.cc M src/kudu/common/column_predicate.h M src/kudu/common/encoded_key-test.cc M src/kudu/common/encoded_key.cc M src/kudu/common/encoded_key.h M src/kudu/common/generic_iterators-test.cc M src/kudu/common/generic_iterators.cc M src/kudu/common/generic_iterators.h M src/kudu/common/id_mapping-test.cc M src/kudu/common/id_mapping.h M src/kudu/common/iterator_stats.cc M src/kudu/common/key_encoder.cc M src/kudu/common/key_encoder.h M src/kudu/common/key_util-test.cc M src/kudu/common/key_util.cc M src/kudu/common/key_util.h M src/kudu/common/partial_row-test.cc M src/kudu/common/partial_row.cc M src/kudu/common/partial_row.h M src/kudu/common/partition-test.cc M src/kudu/common/partition.cc M src/kudu/common/partition.h M src/kudu/common/partition_pruner-test.cc M src/kudu/common/partition_pruner.cc M src/kudu/common/row_changelist-test.cc M src/kudu/common/row_changelist.cc M src/kudu/common/row_changelist.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/rowblock.cc M src/kudu/common/rowblock.h M src/kudu/common/scan_spec-test.cc M src/kudu/common/scan_spec.cc M src/kudu/common/scan_spec.h M src/kudu/common/schema-test.cc M src/kudu/common/schema.cc M src/kudu/common/schema.h M src/kudu/common/timestamp.cc M src/kudu/common/timestamp.h M src/kudu/common/types.cc M src/kudu/common/types.h M src/kudu/common/wire_protocol-test.cc M src/kudu/common/wire_protocol.cc M src/kudu/common/wire_protocol.h M src/kudu/gutil/atomicops-internals-macosx.h M src/kudu/gutil/atomicops-internals-powerpc.h M src/kudu/gutil/atomicops-internals-tsan.h M src/kudu/gutil/atomicops-internals-x86.cc M src/kudu/gutil/atomicops-internals-x86.h M src/kudu/gutil/atomicops.h M src/kudu/gutil/bits.h M src/kudu/gutil/callback_internal.cc M src/kudu/gutil/callback_internal.h M src/kudu/gutil/cpu.cc M src/kudu/gutil/hash/builtin_type_hash.h M src/kudu/gutil/hash/city.cc M src/kudu/gutil/hash/hash.cc M src/kudu/gutil/hash/hash.h M src/kudu/gutil/hash/jenkins.cc M src/kudu/gutil/mathlimits.h M src/kudu/gutil/once.cc M src/kudu/gutil/once.h M src/kudu/gutil/ref_counted.cc M src/kudu/gutil/ref_counted.h M src/kudu/gutil/ref_counted_memory.cc M src/kudu/gutil/ref_counted_memory.h M src/kudu/gutil/spinlock.cc M src/kudu/gutil/spinlock.h M src/kudu/gutil/spinlock_internal.h M src/kudu/gutil/stringprintf.cc M src/kudu/gutil/strings/escaping.cc M src/kudu/gutil/strings/escaping.h M src/kudu/gutil/strings/human_readable.cc M src/kudu/gutil/strings/human_readable.h M src/kudu/gutil/strings/join.cc M src/kudu/gutil/strings/join.h M src/kudu/gutil/strings/memutil.h M src/kudu/gutil/strings/numbers.cc M src/kudu/gutil/strings/numbers.h M src/kudu/gutil/strings/serialize.cc M src/kudu/gutil/strings/serialize.h M src/kudu/gutil/strings/split.cc M src/kudu/gutil/strings/split.h M src/kudu/gutil/strings/strcat.cc M src/kudu/gutil/strings/strcat.h M src/kudu/gutil/strings/stringpiece.cc M src/kudu/gutil/strings/stringpiece.h M src/kudu/gutil/strings/strip.cc M src/kudu/gutil/strings/strip.h M src/kudu/gutil/strings/substitute.cc M src/kudu/gutil/strings/substitute.h M src/kudu/gutil/strings/util.cc M src/kudu/gutil/strings/util.h M src/kudu/gutil/strtoint.cc M src/kudu/gutil/strtoint.h M src/kudu/gutil/sysinfo.cc M src/kudu/gutil/sysinfo.h M src/kudu/gutil/threading/thread_collision_warner.cc M src/kudu/gutil/threading/thread_collision_warner.h M src/kudu/gutil/walltime.h M src/kudu/rpc/acceptor_pool.cc M src/kudu/rpc/acceptor_pool.h M src/kudu/rpc/auth_store.cc M src/kudu/rpc/auth_store.h M src/kudu/rpc/blocking_ops.cc M src/kudu/rpc/blocking_ops.h M src/kudu/rpc/connection.cc M src/kudu/rpc/connection.h M src/kudu/rpc/exactly_once_rpc-test.cc M src/kudu/rpc/inbound_call.cc M src/kudu/rpc/inbound_call.h M src/kudu/rpc/messenger.cc M src/kudu/rpc/messenger.h M src/kudu/rpc/mt-rpc-test.cc M src/kudu/rpc/negotiation.cc M src/kudu/rpc/negotiation.h M src/kudu/rpc/outbound_call.cc M src/kudu/rpc/outbound_call.h M src/kudu/rpc/proxy.cc M src/kudu/rpc/proxy.h M src/kudu/rpc/reactor-test.cc M src/kudu/rpc/reactor.cc M src/kudu/rpc/reactor.h M src/kudu/rpc/remote_method.cc M src/kudu/rpc/remot
[kudu-CR] [IWYU] WIP: common/gutil/util/rpc
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4738 to look at the new patch set (#2). Change subject: [IWYU] WIP: common/gutil/util/rpc .. [IWYU] WIP: common/gutil/util/rpc This are changes for the included headers recommended by IWYU (taken with a grain of salt, though). More is coming soon. However, the main idea is the following: first pass is this almost-all-manual approach, and then since we have IWYU pragmas in place and appropriate mappings established (especiall for the boost library), it should be much less manual involvement. Change-Id: I6923091be36a1c03fac34dd73e6b17e17ac9ceaa --- M src/kudu/codegen/code_cache.cc M src/kudu/codegen/code_cache.h M src/kudu/codegen/precompiled.cc M src/kudu/common/column_predicate.cc M src/kudu/common/column_predicate.h M src/kudu/common/encoded_key-test.cc M src/kudu/common/encoded_key.cc M src/kudu/common/encoded_key.h M src/kudu/common/generic_iterators-test.cc M src/kudu/common/generic_iterators.cc M src/kudu/common/generic_iterators.h M src/kudu/common/id_mapping-test.cc M src/kudu/common/id_mapping.h M src/kudu/common/iterator_stats.cc M src/kudu/common/key_encoder.cc M src/kudu/common/key_encoder.h M src/kudu/common/key_util-test.cc M src/kudu/common/key_util.cc M src/kudu/common/key_util.h M src/kudu/common/partial_row-test.cc M src/kudu/common/partial_row.cc M src/kudu/common/partial_row.h M src/kudu/common/partition-test.cc M src/kudu/common/partition.cc M src/kudu/common/partition.h M src/kudu/common/partition_pruner-test.cc M src/kudu/common/partition_pruner.cc M src/kudu/common/row_changelist-test.cc M src/kudu/common/row_changelist.cc M src/kudu/common/row_changelist.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/rowblock.cc M src/kudu/common/rowblock.h M src/kudu/common/scan_spec-test.cc M src/kudu/common/scan_spec.cc M src/kudu/common/scan_spec.h M src/kudu/common/schema-test.cc M src/kudu/common/schema.cc M src/kudu/common/schema.h M src/kudu/common/timestamp.cc M src/kudu/common/timestamp.h M src/kudu/common/types.cc M src/kudu/common/types.h M src/kudu/common/wire_protocol-test.cc M src/kudu/common/wire_protocol.cc M src/kudu/common/wire_protocol.h M src/kudu/gutil/atomicops-internals-macosx.h M src/kudu/gutil/atomicops-internals-powerpc.h M src/kudu/gutil/atomicops-internals-tsan.h M src/kudu/gutil/atomicops-internals-x86.cc M src/kudu/gutil/atomicops-internals-x86.h M src/kudu/gutil/atomicops.h M src/kudu/gutil/bits.h M src/kudu/gutil/callback_internal.cc M src/kudu/gutil/callback_internal.h M src/kudu/gutil/cpu.cc M src/kudu/gutil/hash/builtin_type_hash.h M src/kudu/gutil/hash/city.cc M src/kudu/gutil/hash/hash.cc M src/kudu/gutil/hash/hash.h M src/kudu/gutil/hash/jenkins.cc M src/kudu/gutil/mathlimits.h M src/kudu/gutil/once.cc M src/kudu/gutil/once.h M src/kudu/gutil/ref_counted.cc M src/kudu/gutil/ref_counted.h M src/kudu/gutil/ref_counted_memory.cc M src/kudu/gutil/ref_counted_memory.h M src/kudu/gutil/spinlock.cc M src/kudu/gutil/spinlock.h M src/kudu/gutil/spinlock_internal.h M src/kudu/gutil/stringprintf.cc M src/kudu/gutil/strings/escaping.cc M src/kudu/gutil/strings/escaping.h M src/kudu/gutil/strings/human_readable.cc M src/kudu/gutil/strings/human_readable.h M src/kudu/gutil/strings/join.cc M src/kudu/gutil/strings/join.h M src/kudu/gutil/strings/memutil.h M src/kudu/gutil/strings/numbers.cc M src/kudu/gutil/strings/numbers.h M src/kudu/gutil/strings/serialize.cc M src/kudu/gutil/strings/serialize.h M src/kudu/gutil/strings/split.cc M src/kudu/gutil/strings/split.h M src/kudu/gutil/strings/strcat.cc M src/kudu/gutil/strings/strcat.h M src/kudu/gutil/strings/stringpiece.cc M src/kudu/gutil/strings/stringpiece.h M src/kudu/gutil/strings/strip.cc M src/kudu/gutil/strings/strip.h M src/kudu/gutil/strings/substitute.cc M src/kudu/gutil/strings/substitute.h M src/kudu/gutil/strings/util.cc M src/kudu/gutil/strings/util.h M src/kudu/gutil/strtoint.cc M src/kudu/gutil/strtoint.h M src/kudu/gutil/sysinfo.cc M src/kudu/gutil/sysinfo.h M src/kudu/gutil/threading/thread_collision_warner.cc M src/kudu/gutil/threading/thread_collision_warner.h M src/kudu/gutil/walltime.h M src/kudu/rpc/acceptor_pool.cc M src/kudu/rpc/acceptor_pool.h M src/kudu/rpc/auth_store.cc M src/kudu/rpc/auth_store.h M src/kudu/rpc/blocking_ops.cc M src/kudu/rpc/blocking_ops.h M src/kudu/rpc/connection.cc M src/kudu/rpc/connection.h M src/kudu/rpc/exactly_once_rpc-test.cc M src/kudu/rpc/inbound_call.cc M src/kudu/rpc/inbound_call.h M src/kudu/rpc/messenger.cc M src/kudu/rpc/messenger.h M src/kudu/rpc/mt-rpc-test.cc M src/kudu/rpc/negotiation.cc M src/kudu/rpc/negotiation.h M src/kudu/rpc/outbound_call.cc M src/kudu/rpc/outbound_call.h M src/kudu/rpc/proxy.cc M src/kudu/rpc/proxy.h M src/kudu/rpc/reactor-test.cc M src/kudu/rpc/reactor.cc M src/kudu/rpc/react
[kudu-CR] KUDU-1508: script for testing presence of bug and finding upper bounds
Adar Dembo has posted comments on this change. Change subject: KUDU-1508: script for testing presence of bug and finding upper bounds .. Patch Set 1: (5 comments) > can you write in the commit message or in the test header something > about what the finding here means? if I'm interpreting it > correctly, we're trying to find the max number of extents in the > tree before it becomes multi-level, and that's dependent on the > file system's block size? Yes, I'll note that in the commit description. http://gerrit.cloudera.org:8080/#/c/4730/1/src/kudu/experiments/KUDU-1508/hole_punch_range.c File src/kudu/experiments/KUDU-1508/hole_punch_range.c: Line 32: fprintf(stderr, "usage: %s \n", argv[0]); > clarify whether the file should exist or not, and how large it should be? Clarified the existence and the arguments. Size doesn't matter; fallocate() will no-op if you punch a hole beyond the size of the file. Line 40: int fd = open(argv[1], O_EXCL | O_WRONLY, 0644); > O_EXCL without O_CREAT is undefined Whoops, dropped O_EXCL. Line 54: for (block_num = start_block; block_num < end_block; block_num += stride) { > any reason not to use C99 here? Not a huge deal, but I didn't want to have to pass -std=c99 with older compilers (i.e. gcc 4.4 on el6). Given that this is the only C99ism, it seemed like a reasonable trade-off. http://gerrit.cloudera.org:8080/#/c/4730/1/src/kudu/experiments/KUDU-1508/run_test.sh File src/kudu/experiments/KUDU-1508/run_test.sh: PS1, Line 70: 1 > instead of '1' how about using a string like 'fail_ok' so it's clearer Sure, will use "fail_ok". I couldn't get "... || :" to work with the run() method, though maybe there's some quoting that would make it work. PS1, Line 77: -l > can you use the longer form (--length) here and elsewhere for flags that ar Sure, though I think this is the only place I could use a longopt. -- To view, visit http://gerrit.cloudera.org:8080/4730 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] [client.h] CountBufferedOperations marked as deprecated
Jean-Daniel Cryans has posted comments on this change. Change subject: [client.h] CountBufferedOperations marked as deprecated .. Patch Set 3: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4723 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: If6293c0a3058f7056d24e7cee0120d1852ded548 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Alexey Serbin Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] [client.h] CountBufferedOperations marked as deprecated
Jean-Daniel Cryans has submitted this change and it was merged. Change subject: [client.h] CountBufferedOperations marked as deprecated .. [client.h] CountBufferedOperations marked as deprecated KuduSession::CountBufferedOperations() is used only by tests now. Also, the only flush mode to use this method consistently is MANUAL_FLUSH mode, but in that mode it's easy to count for number of buffered operations by a different means -- that's the count of Apply() calls since last KuduSession::Flush() call (or invocation of the callback passed into KuduSession::FlushAsync() method). Change-Id: If6293c0a3058f7056d24e7cee0120d1852ded548 Reviewed-on: http://gerrit.cloudera.org:8080/4723 Tested-by: Kudu Jenkins Reviewed-by: Jean-Daniel Cryans --- M src/kudu/client/client.h 1 file changed, 17 insertions(+), 5 deletions(-) Approvals: Jean-Daniel Cryans: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4723 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: If6293c0a3058f7056d24e7cee0120d1852ded548 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Alexey Serbin Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Matthew Jacobs Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1508: script for testing presence of bug and finding upper bounds
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4730 to look at the new patch set (#2). Change subject: KUDU-1508: script for testing presence of bug and finding upper bounds .. KUDU-1508: script for testing presence of bug and finding upper bounds This patch introduces a script that tests for the presence of KUDU-1508 and establishes a "safe" upper bound on the number of extents an ext4 file can have before it becomes vulnerable to the bug. The upper bound is actually a function of the filesystem's block size, since that's the granularity on which hole punching operates. When run on my laptop (Ubuntu 16.04): This kernel is not vulnerable to KUDU-1508, skipping test When run on ve0518 (an el6.6 box): This kernel is vulnerable to KUDU-1508, finding per-block size upper bounds Block size 1024: searching for block number upper bound (MIN=0,MAX=16384) Block size 1024: 8192 bad (MIN=0,MAX=16384) Block size 1024: 4095 bad (MIN=0,MAX=8191) Block size 1024: 2047 bad (MIN=0,MAX=4094) Block size 1024: 1023 bad (MIN=0,MAX=2046) Block size 1024: 511 good (MIN=0,MAX=1022) Block size 1024: 767 bad (MIN=512,MAX=1022) Block size 1024: 639 good (MIN=512,MAX=766) Block size 1024: 703 bad (MIN=640,MAX=766) Block size 1024: 671 good (MIN=640,MAX=702) Block size 1024: 687 bad (MIN=672,MAX=702) Block size 1024: 679 bad (MIN=672,MAX=686) Block size 1024: 675 bad (MIN=672,MAX=678) Block size 1024: 673 good (MIN=672,MAX=674) Block size 1024: upper bound found at 673 Block size 2048: searching for block number upper bound (MIN=0,MAX=16384) Block size 2048: 8192 bad (MIN=0,MAX=16384) Block size 2048: 4095 bad (MIN=0,MAX=8191) Block size 2048: 2047 bad (MIN=0,MAX=4094) Block size 2048: 1023 good (MIN=0,MAX=2046) Block size 2048: 1535 bad (MIN=1024,MAX=2046) Block size 2048: 1279 good (MIN=1024,MAX=1534) Block size 2048: 1407 bad (MIN=1280,MAX=1534) Block size 2048: 1343 good (MIN=1280,MAX=1406) Block size 2048: 1375 bad (MIN=1344,MAX=1406) Block size 2048: 1359 bad (MIN=1344,MAX=1374) Block size 2048: 1351 good (MIN=1344,MAX=1358) Block size 2048: 1355 bad (MIN=1352,MAX=1358) Block size 2048: 1353 good (MIN=1352,MAX=1354) Block size 2048: upper bound found at 1353 Block size 4096: searching for block number upper bound (MIN=0,MAX=16384) Block size 4096: 8192 bad (MIN=0,MAX=16384) Block size 4096: 4095 bad (MIN=0,MAX=8191) Block size 4096: 2047 good (MIN=0,MAX=4094) Block size 4096: 3071 bad (MIN=2048,MAX=4094) Block size 4096: 2559 good (MIN=2048,MAX=3070) Block size 4096: 2815 bad (MIN=2560,MAX=3070) Block size 4096: 2687 good (MIN=2560,MAX=2814) Block size 4096: 2751 bad (MIN=2688,MAX=2814) Block size 4096: 2719 good (MIN=2688,MAX=2750) Block size 4096: 2735 bad (MIN=2720,MAX=2750) Block size 4096: 2727 bad (MIN=2720,MAX=2734) Block size 4096: 2723 bad (MIN=2720,MAX=2726) Block size 4096: 2721 good (MIN=2720,MAX=2722) Block size 4096: upper bound found at 2721 Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 --- A src/kudu/experiments/KUDU-1508/hole_punch_range.c A src/kudu/experiments/KUDU-1508/run_test.sh 2 files changed, 234 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/4730/2 -- To view, visit http://gerrit.cloudera.org:8080/4730 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] consensus queue: make methods non-virtual
David Ribeiro Alves has posted comments on this change. Change subject: consensus_queue: make methods non-virtual .. Patch Set 2: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4710 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: If90af3a3db2a1c513f7e587dfbfa076699426803 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: No
[kudu-CR] KUDU-1135 (part 2): avoid flushing metadata twice when starting an election
David Ribeiro Alves has posted comments on this change. Change subject: KUDU-1135 (part 2): avoid flushing metadata twice when starting an election .. Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/4702/3/src/kudu/consensus/raft_consensus.cc File src/kudu/consensus/raft_consensus.cc: Line 1852: if (result.decision == VOTE_DENIED) { did you mean to have this change here? doesn't seem stricly related to the double flush thing. -- To view, visit http://gerrit.cloudera.org:8080/4702 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Dinesh Bhat Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1135 (part 2): avoid flushing metadata twice when starting an election
David Ribeiro Alves has posted comments on this change. Change subject: KUDU-1135 (part 2): avoid flushing metadata twice when starting an election .. Patch Set 3: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4702 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Dinesh Bhat Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1135 (part 2): avoid flushing metadata twice when starting an election
David Ribeiro Alves has posted comments on this change. Change subject: KUDU-1135 (part 2): avoid flushing metadata twice when starting an election .. Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/4702/3/src/kudu/consensus/raft_consensus.cc File src/kudu/consensus/raft_consensus.cc: Line 1852: if (result.decision == VOTE_DENIED) { > did you mean to have this change here? doesn't seem stricly related to the oops the change I was referring to went on another patch (was diffing against the previous rev) -- To view, visit http://gerrit.cloudera.org:8080/4702 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Dinesh Bhat Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] consensus: remove bits of dead code
David Ribeiro Alves has posted comments on this change. Change subject: consensus: remove bits of dead code .. Patch Set 2: Code-Review+2 (1 comment) http://gerrit.cloudera.org:8080/#/c/4712/1/src/kudu/consensus/raft_consensus.cc File src/kudu/consensus/raft_consensus.cc: Line 596: // or if we had an actual IO error, which we currently don't handle. > Done. Actually decided that there are no errors here we need to try to hand sgtm -- To view, visit http://gerrit.cloudera.org:8080/4712 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8dc0a129f4f136256083a31e4b4b27e6a673dbee Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] consensus peers: a little cleanup of cruft
David Ribeiro Alves has posted comments on this change. Change subject: consensus_peers: a little cleanup of cruft .. Patch Set 3: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4704 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie01c24b840e456482c12f96f3e2bcb3ad4388f0b Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1508: script for testing presence of bug and finding upper bounds
Todd Lipcon has posted comments on this change. Change subject: KUDU-1508: script for testing presence of bug and finding upper bounds .. Patch Set 2: Code-Review+2 Seems fine. I'll admit I didn't review it that carefully, but it's just an experiment, so who cares :) (btw in the future would prefer this kind of thing in python vs shell!) -- To view, visit http://gerrit.cloudera.org:8080/4730 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1508: script for testing presence of bug and finding upper bounds
Adar Dembo has posted comments on this change. Change subject: KUDU-1508: script for testing presence of bug and finding upper bounds .. Patch Set 2: > (btw in the future would prefer this kind of thing in python vs > shell!) Really? I think the amount of "invoke subprocesses" outweighs the amount of "do stuff with the results"; doesn't that balance favor shell? -- To view, visit http://gerrit.cloudera.org:8080/4730 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1508: script for testing presence of bug and finding upper bounds
Todd Lipcon has posted comments on this change. Change subject: KUDU-1508: script for testing presence of bug and finding upper bounds .. Patch Set 2: I suppose, except that the shell regexes make my eyes bleed. Plus the fallocate helper script probably could be written in python, too. Anyway water under the bridge, it's just an experiment -- To view, visit http://gerrit.cloudera.org:8080/4730 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1508: script for testing presence of bug and finding upper bounds
Adar Dembo has submitted this change and it was merged. Change subject: KUDU-1508: script for testing presence of bug and finding upper bounds .. KUDU-1508: script for testing presence of bug and finding upper bounds This patch introduces a script that tests for the presence of KUDU-1508 and establishes a "safe" upper bound on the number of extents an ext4 file can have before it becomes vulnerable to the bug. The upper bound is actually a function of the filesystem's block size, since that's the granularity on which hole punching operates. When run on my laptop (Ubuntu 16.04): This kernel is not vulnerable to KUDU-1508, skipping test When run on ve0518 (an el6.6 box): This kernel is vulnerable to KUDU-1508, finding per-block size upper bounds Block size 1024: searching for block number upper bound (MIN=0,MAX=16384) Block size 1024: 8192 bad (MIN=0,MAX=16384) Block size 1024: 4095 bad (MIN=0,MAX=8191) Block size 1024: 2047 bad (MIN=0,MAX=4094) Block size 1024: 1023 bad (MIN=0,MAX=2046) Block size 1024: 511 good (MIN=0,MAX=1022) Block size 1024: 767 bad (MIN=512,MAX=1022) Block size 1024: 639 good (MIN=512,MAX=766) Block size 1024: 703 bad (MIN=640,MAX=766) Block size 1024: 671 good (MIN=640,MAX=702) Block size 1024: 687 bad (MIN=672,MAX=702) Block size 1024: 679 bad (MIN=672,MAX=686) Block size 1024: 675 bad (MIN=672,MAX=678) Block size 1024: 673 good (MIN=672,MAX=674) Block size 1024: upper bound found at 673 Block size 2048: searching for block number upper bound (MIN=0,MAX=16384) Block size 2048: 8192 bad (MIN=0,MAX=16384) Block size 2048: 4095 bad (MIN=0,MAX=8191) Block size 2048: 2047 bad (MIN=0,MAX=4094) Block size 2048: 1023 good (MIN=0,MAX=2046) Block size 2048: 1535 bad (MIN=1024,MAX=2046) Block size 2048: 1279 good (MIN=1024,MAX=1534) Block size 2048: 1407 bad (MIN=1280,MAX=1534) Block size 2048: 1343 good (MIN=1280,MAX=1406) Block size 2048: 1375 bad (MIN=1344,MAX=1406) Block size 2048: 1359 bad (MIN=1344,MAX=1374) Block size 2048: 1351 good (MIN=1344,MAX=1358) Block size 2048: 1355 bad (MIN=1352,MAX=1358) Block size 2048: 1353 good (MIN=1352,MAX=1354) Block size 2048: upper bound found at 1353 Block size 4096: searching for block number upper bound (MIN=0,MAX=16384) Block size 4096: 8192 bad (MIN=0,MAX=16384) Block size 4096: 4095 bad (MIN=0,MAX=8191) Block size 4096: 2047 good (MIN=0,MAX=4094) Block size 4096: 3071 bad (MIN=2048,MAX=4094) Block size 4096: 2559 good (MIN=2048,MAX=3070) Block size 4096: 2815 bad (MIN=2560,MAX=3070) Block size 4096: 2687 good (MIN=2560,MAX=2814) Block size 4096: 2751 bad (MIN=2688,MAX=2814) Block size 4096: 2719 good (MIN=2688,MAX=2750) Block size 4096: 2735 bad (MIN=2720,MAX=2750) Block size 4096: 2727 bad (MIN=2720,MAX=2734) Block size 4096: 2723 bad (MIN=2720,MAX=2726) Block size 4096: 2721 good (MIN=2720,MAX=2722) Block size 4096: upper bound found at 2721 Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Reviewed-on: http://gerrit.cloudera.org:8080/4730 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon --- A src/kudu/experiments/KUDU-1508/hole_punch_range.c A src/kudu/experiments/KUDU-1508/run_test.sh 2 files changed, 234 insertions(+), 0 deletions(-) Approvals: Todd Lipcon: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4730 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I710918a153a9e8e05e989fe63281891c9ebc7178 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1684 - [python] Add Scan Resource Metrics Capabilities
Todd Lipcon has posted comments on this change. Change subject: KUDU-1684 - [python] Add Scan Resource Metrics Capabilities .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/4675/2/python/kudu/tests/test_scanner.py File python/kudu/tests/test_scanner.py: PS2, Line 233: returns 0. this part of the test doesn't seem that relevant anymore http://gerrit.cloudera.org:8080/#/c/4675/2/python/kudu/tests/test_scantoken.py File python/kudu/tests/test_scantoken.py: Line 216: def test_resource_metrics(self): this test seems pretty redundant with the other scanner test -- isn't it a safe assumption that once you create a scanner from a token that it acts the same as any other scanner? -- To view, visit http://gerrit.cloudera.org:8080/4675 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib6c4057bd2644e46bdbf8bae0d4a768306e2dbd9 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Jordan Birdsell Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jordan Birdsell Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1692: tie various reader memtrackers to the tablet tracker
Todd Lipcon has posted comments on this change. Change subject: KUDU-1692: tie various reader memtrackers to the tablet tracker .. Patch Set 3: (1 comment) http://gerrit.cloudera.org:8080/#/c/4708/3/src/kudu/tablet/deltamemstore.cc File src/kudu/tablet/deltamemstore.cc: Line 65: HeapBufferAllocator::Get(), parent_tracker)), this one shouldn't be a move? -- To view, visit http://gerrit.cloudera.org:8080/4708 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I40ea59dc5d70c8ec935f9d96bcdb914c1d23ec5a Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1365. Add leader pre-elections
David Ribeiro Alves has posted comments on this change. Change subject: KUDU-1365. Add leader pre-elections .. Patch Set 5: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4694 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ifcfabd8c9ffe31f17ab768542a046426f656db43 Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1365. Add leader pre-elections
Todd Lipcon has submitted this change and it was merged. Change subject: KUDU-1365. Add leader pre-elections .. KUDU-1365. Add leader pre-elections This implements the "pre-election" extension to the Raft algorithm. The idea is that, before calling a leader election, a candidate first sends a pre-election vote request to all voters. The voters respond as they would have in a real vote, except they don't actually record their vote. Cluster tests verify that this substantially reduces the election storms after a node has a temporarily slow disk or otherwise freezes. A new experimental flag 'raft_enable_pre_election' is introduced which defaults the feature to on, but provides a safety valve to disable this in case we find some bug after release. Tested this patch (along with the following series of cleanups) with: [1] 1000 loops of RaftConsensusITest.MultiThreadedInsertWithFailovers [2] 500 loops of raft-consensus-itest overall [3] 1000 loops of exactly_once_writes-itest The above tests have usually been pretty good about finding bugs in consensus in the past. [1] http://dist-test.cloudera.org//job?job_id=todd.1476502616.16080 [2] http://dist-test.cloudera.org//job?job_id=todd.1476503111.17428 [3] http://dist-test.cloudera.org//job?job_id=todd.1476503268.18454 Change-Id: Ifcfabd8c9ffe31f17ab768542a046426f656db43 Reviewed-on: http://gerrit.cloudera.org:8080/4694 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves --- M src/kudu/consensus/consensus.h M src/kudu/consensus/consensus.proto M src/kudu/consensus/leader_election-test.cc M src/kudu/consensus/leader_election.cc M src/kudu/consensus/leader_election.h M src/kudu/consensus/raft_consensus.cc M src/kudu/consensus/raft_consensus.h M src/kudu/consensus/raft_consensus_quorum-test.cc M src/kudu/integration-tests/raft_consensus-itest.cc M src/kudu/tserver/tablet_service.cc 10 files changed, 309 insertions(+), 144 deletions(-) Approvals: David Ribeiro Alves: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4694 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifcfabd8c9ffe31f17ab768542a046426f656db43 Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1135 (part 2): avoid flushing metadata twice when starting an election
Todd Lipcon has posted comments on this change. Change subject: KUDU-1135 (part 2): avoid flushing metadata twice when starting an election .. Patch Set 4: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4702 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Dinesh Bhat Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] consensus peers: a little cleanup of cruft
Todd Lipcon has posted comments on this change. Change subject: consensus_peers: a little cleanup of cruft .. Patch Set 4: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4704 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie01c24b840e456482c12f96f3e2bcb3ad4388f0b Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1135 (part 2): avoid flushing metadata twice when starting an election
Todd Lipcon has posted comments on this change. Change subject: KUDU-1135 (part 2): avoid flushing metadata twice when starting an election .. Patch Set 4: just a rebase -- To view, visit http://gerrit.cloudera.org:8080/4702 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Dinesh Bhat Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] consensus peers: a little cleanup of cruft
Todd Lipcon has submitted this change and it was merged. Change subject: consensus_peers: a little cleanup of cruft .. consensus_peers: a little cleanup of cruft * removes a test method that no longer was necessary * removes an unimplemented method * cleans up comments * makes PeerManager methods non-virtual now that we no longer try to mock them In particular I removed a big "state diagram" that I didn't find very helpful and replaced it with a bit more text. This is in prep for some work on KUDU-699. Change-Id: Ie01c24b840e456482c12f96f3e2bcb3ad4388f0b Reviewed-on: http://gerrit.cloudera.org:8080/4704 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon --- M src/kudu/consensus/consensus_peers-test.cc M src/kudu/consensus/consensus_peers.cc M src/kudu/consensus/consensus_peers.h M src/kudu/consensus/peer_manager.h 4 files changed, 23 insertions(+), 67 deletions(-) Approvals: Todd Lipcon: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4704 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie01c24b840e456482c12f96f3e2bcb3ad4388f0b Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1135 (part 2): avoid flushing metadata twice when starting an election
Todd Lipcon has submitted this change and it was merged. Change subject: KUDU-1135 (part 2): avoid flushing metadata twice when starting an election .. KUDU-1135 (part 2): avoid flushing metadata twice when starting an election Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Reviewed-on: http://gerrit.cloudera.org:8080/4702 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon --- M src/kudu/consensus/raft_consensus.cc M src/kudu/consensus/raft_consensus.h M src/kudu/consensus/raft_consensus_quorum-test.cc 3 files changed, 12 insertions(+), 12 deletions(-) Approvals: Todd Lipcon: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4702 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I231273a1cfa92275788dd99c78e284ecd0543d7a Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Dinesh Bhat Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon
[kudu-CR] consensus: move more logic from ReplicaState to RaftConsensus
Todd Lipcon has posted comments on this change. Change subject: consensus: move more logic from ReplicaState to RaftConsensus .. Patch Set 3: this one still needs a re-review -- To view, visit http://gerrit.cloudera.org:8080/4709 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0f377ebb132f3f58f984605197831f41198d78c5 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] rpc: Add min / max negotiation threads
Todd Lipcon has posted comments on this change. Change subject: rpc: Add min / max negotiation threads .. Patch Set 1: (1 comment) Doing some tests on a very large cluster recently I ran into the fact that this wasn't configurable, so I think making the max configurable is a good idea. http://gerrit.cloudera.org:8080/#/c/4574/1/src/kudu/server/server_base.cc File src/kudu/server/server_base.cc: PS1, Line 65: 4, after some experimentation on clusters, I think we should bump this up substantially to 50+ -- To view, visit http://gerrit.cloudera.org:8080/4574 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ife98b39d5f3a340702151ab27dc8026c8bac12ac Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Mike Percy Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes