[kudu-CR] KUDU-2208 Add unit test to detect Subprocess Interruption Handling failure and patch to fix the bug
Hello Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/9015 to look at the new patch set (#2). Change subject: KUDU-2208 Add unit test to detect Subprocess Interruption Handling failure and patch to fix the bug .. KUDU-2208 Add unit test to detect Subprocess Interruption Handling failure and patch to fix the bug This patch submits a unit test that create a Subprocess thread and while it is starting and waiting, another thread sends kill signals to the Subprocess thread. Prior to the bug fix in this patch, the Subprocess throws an exception because it cannot handle the kill signal in Wait() state. The bug fix adds RETRY_ON_EINTR() at Subprocess::DoWait() function. Furthermore, this patch also moves the RETRY_ON_EINTR() function that occurs in many places across the code to os-util.h. Change-Id: I148b4619a8dda8e3e95dd6ea5c6e993a9e37a333 --- M src/kudu/consensus/log_index.cc M src/kudu/util/env_posix.cc M src/kudu/util/net/socket.cc M src/kudu/util/os-util.h M src/kudu/util/subprocess-test.cc M src/kudu/util/subprocess.cc 6 files changed, 57 insertions(+), 20 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/15/9015/2 -- To view, visit http://gerrit.cloudera.org:8080/9015 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I148b4619a8dda8e3e95dd6ea5c6e993a9e37a333 Gerrit-Change-Number: 9015 Gerrit-PatchSet: 2 Gerrit-Owner: Jeffrey F. LukmanGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] Kudu-2208 Avoid system call interruption in Subprocess
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/9011 ) Change subject: Kudu-2208 Avoid system call interruption in Subprocess .. Patch Set 1: (4 comments) http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc File src/kudu/util/subprocess-test.cc: http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@26 PS1, Line 26: #include nit: move this header into the C-headers-group along with the header. http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@302 PS1, Line 302: 0.5 nit: why not just '1'? Using non-integer numbers for /bin/sleep is considered as a non-portable extension. http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@314 PS1, Line 314: sigaction It would be nice to assert that sigaction() returns success. http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess.cc File src/kudu/util/subprocess.cc: http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess.cc@69 PS1, Line 69: == true nit: can we drop this extra? -- To view, visit http://gerrit.cloudera.org:8080/9011 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I66ab2ec391eced5ea1c37d4294d151fe03c7d586 Gerrit-Change-Number: 9011 Gerrit-PatchSet: 1 Gerrit-Owner: Jeffrey F. LukmanGerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 07:49:12 + Gerrit-HasComments: Yes
[kudu-CR] [WIP] KUDU-1704: add java client support for READ YOUR WRITES mode
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8847 ) Change subject: [WIP] KUDU-1704: add java client support for READ_YOUR_WRITES mode .. Patch Set 3: Verified+1 Override it as the failed test DeleteTableITest.TestNoDeleteTombstonedTablets is not related to the change. -- To view, visit http://gerrit.cloudera.org:8080/8847 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6239521c022147257859e399f55c6f3f945af465 Gerrit-Change-Number: 8847 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Fri, 12 Jan 2018 05:48:39 + Gerrit-HasComments: No
[kudu-CR] [WIP] KUDU-1704: add java client support for READ YOUR WRITES mode
Hao Hao has removed a vote on this change. Change subject: [WIP] KUDU-1704: add java client support for READ_YOUR_WRITES mode .. Removed Verified-1 by Kudu Jenkins (120) -- To view, visit http://gerrit.cloudera.org:8080/8847 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: I6239521c022147257859e399f55c6f3f945af465 Gerrit-Change-Number: 8847 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [WIP] KUDU-1704: add c++ client support for READ YOUR WRITES mode
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8823 ) Change subject: [WIP] KUDU-1704: add c++ client support for READ_YOUR_WRITES mode .. Patch Set 3: Verified+1 Override it as the failed test DeleteTableITest.TestNoDeleteTombstonedTablets is not related to the change -- To view, visit http://gerrit.cloudera.org:8080/8823 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 Gerrit-Change-Number: 8823 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Fri, 12 Jan 2018 05:46:08 + Gerrit-HasComments: No
[kudu-CR] [WIP] KUDU-1704: add c++ client support for READ YOUR WRITES mode
Hao Hao has removed a vote on this change. Change subject: [WIP] KUDU-1704: add c++ client support for READ_YOUR_WRITES mode .. Removed Verified-1 by Kudu Jenkins (120) -- To view, visit http://gerrit.cloudera.org:8080/8823 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: deleteVote Gerrit-Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 Gerrit-Change-Number: 8823 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [tls socket-test] fix test to pass on Ubuntu 16.04
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/8996 ) Change subject: [tls_socket-test] fix test to pass on Ubuntu 16.04 .. Patch Set 4: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/8996 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I94170d5bdbe17a5952a82faf74d8b868b42460aa Gerrit-Change-Number: 8996 Gerrit-PatchSet: 4 Gerrit-Owner: Alexey SerbinGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 05:28:45 + Gerrit-HasComments: No
[kudu-CR] [tls socket-test] fix test to pass on Ubuntu 16.04
Todd Lipcon has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8996 ) Change subject: [tls_socket-test] fix test to pass on Ubuntu 16.04 .. [tls_socket-test] fix test to pass on Ubuntu 16.04 Prior to this fix, the TlsSocketTest.TestNonBlockingWritev test failed on Ubuntu 16.04 (kernel 4.4.0). After some investigation, it turned out that setting socket send buffer size for something lower than the MTU size (which is 64kB for localhost) triggered the delayed acknowledgement logic. Since the test passes big chunks of data (32MB on every iteration), with 40ms delay for almost every 16KB sent, the test eventually timed out. I verified that disabling the delayed TCP ack for TLS sockets fixed the issue. I think that the proper fix is to remove the custom setting for the socket send buffer: a 32MB chunk of data is big enough to not fit into the socket buffer of the default size. Also, it seems this issue is not going to bite us in real life since we don't set the size of the socket send buffer anywhere. NOTE: however, some mystery is left since the failing test would pass if running under strace. Change-Id: I94170d5bdbe17a5952a82faf74d8b868b42460aa Reviewed-on: http://gerrit.cloudera.org:8080/8996 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon--- M src/kudu/security/tls_socket-test.cc 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: Kudu Jenkins: Verified Todd Lipcon: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/8996 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I94170d5bdbe17a5952a82faf74d8b868b42460aa Gerrit-Change-Number: 8996 Gerrit-PatchSet: 5 Gerrit-Owner: Alexey Serbin Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-2208 Refine unit test and move RETRY ON EINTR() to os-util.h
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9015 ) Change subject: KUDU-2208 Refine unit test and move RETRY_ON_EINTR() to os-util.h .. Patch Set 1: Can you merge this into the previous commit? eg use rebase -i and squash the two commits? That way there is just one review. (gerrit doesn't really handle patch series) -- To view, visit http://gerrit.cloudera.org:8080/9015 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I148b4619a8dda8e3e95dd6ea5c6e993a9e37a333 Gerrit-Change-Number: 9015 Gerrit-PatchSet: 1 Gerrit-Owner: Jeffrey F. LukmanGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 05:25:15 + Gerrit-HasComments: No
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: Got it. Sounds reasonable to abandon this then, if we're convinced it's not possible to make a KuduContext in an executor :) -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 05:23:48 + Gerrit-HasComments: No
[kudu-CR] KUDU-2256: Add GetTransferSize() to RpcContext
Todd Lipcon has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8998 ) Change subject: KUDU-2256: Add GetTransferSize() to RpcContext .. KUDU-2256: Add GetTransferSize() to RpcContext This changes adds GetTransferSize() to RpcContext to retrieve the payload size of the inbound call. This makes it easier to track the memory of incoming RPCs in the handler methods. To test this I added a CHECK to one of the handler methods in CalculatorService. Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 Reviewed-on: http://gerrit.cloudera.org:8080/8998 Tested-by: Kudu Jenkins Reviewed-by: Todd Lipcon--- M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc_context.cc M src/kudu/rpc/rpc_context.h 3 files changed, 11 insertions(+), 0 deletions(-) Approvals: Kudu Jenkins: Verified Todd Lipcon: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/8998 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 Gerrit-Change-Number: 8998 Gerrit-PatchSet: 6 Gerrit-Owner: Lars Volker Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-2256: Add GetTransferSize() to RpcContext
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/8998 ) Change subject: KUDU-2256: Add GetTransferSize() to RpcContext .. Patch Set 5: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/8998 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 Gerrit-Change-Number: 8998 Gerrit-PatchSet: 5 Gerrit-Owner: Lars VolkerGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 05:19:55 + Gerrit-HasComments: No
[kudu-CR] [WIP] KUDU-1704: add java client support for READ YOUR WRITES mode
Hello David Ribeiro Alves, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8847 to look at the new patch set (#3). Change subject: [WIP] KUDU-1704: add java client support for READ_YOUR_WRITES mode .. [WIP] KUDU-1704: add java client support for READ_YOUR_WRITES mode Change-Id: I6239521c022147257859e399f55c6f3f945af465 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java 4 files changed, 135 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/47/8847/3 -- To view, visit http://gerrit.cloudera.org:8080/8847 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6239521c022147257859e399f55c6f3f945af465 Gerrit-Change-Number: 8847 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [WIP] KUDU-1704: add c++ client support for READ YOUR WRITES mode
Hello David Ribeiro Alves, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8823 to look at the new patch set (#3). Change subject: [WIP] KUDU-1704: add c++ client support for READ_YOUR_WRITES mode .. [WIP] KUDU-1704: add c++ client support for READ_YOUR_WRITES mode Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/scan_token-internal.cc M src/kudu/client/scan_token-test.cc M src/kudu/client/scanner-internal.cc 6 files changed, 151 insertions(+), 59 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/8823/3 -- To view, visit http://gerrit.cloudera.org:8080/8823 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 Gerrit-Change-Number: 8823 Gerrit-PatchSet: 3 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [WIP] KUDU-1704: add READ YOUR WRITES scan mode
Hello Alexey Serbin, Mike Percy, David Ribeiro Alves, Kudu Jenkins, Andrew Wong, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8804 to look at the new patch set (#6). Change subject: [WIP] KUDU-1704: add READ_YOUR_WRITES scan mode .. [WIP] KUDU-1704: add READ_YOUR_WRITES scan mode This patch adds a new read mode READ_YOUR_WRITES on tserver. In this mode, the server will pick a snapshot in the past, subject to the propagated timestamp bound, and perform a read. The chosen snapshot timestamp is returned back to the client. READ_YOUR_WRITES mode is repeatable and allows client local read-your-writes. The major difference between READ_AT_SNAPSHOT scan without a timestamp and READ_YOUR_WRITES scan is the latter will choose the newest timestamp within the staleness bound that allows execution of the reads without being blocked by the in-flight transactions. Change-Id: I84ddb981a1a0f199d4e66f5d5097318f8c785a48 --- M src/kudu/common/common.proto M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tablet_service.h 4 files changed, 269 insertions(+), 52 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/04/8804/6 -- To view, visit http://gerrit.cloudera.org:8080/8804 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I84ddb981a1a0f199d4e66f5d5097318f8c785a48 Gerrit-Change-Number: 8804 Gerrit-PatchSet: 6 Gerrit-Owner: Hao HaoGerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy
[kudu-CR] [WIP]KUDU-1704: add c++ client support for READ YOUR WRITES mode
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8823 ) Change subject: [WIP]KUDU-1704: add c++ client support for READ_YOUR_WRITES mode .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/8823/1/src/kudu/client/client-test.cc File src/kudu/client/client-test.cc: http://gerrit.cloudera.org:8080/#/c/8823/1/src/kudu/client/client-test.cc@1194 PS1, Line 1194: > rename this test? Done http://gerrit.cloudera.org:8080/#/c/8823/1/src/kudu/client/client-test.cc@1199 PS1, Line 1199: NO_FATALS(InsertTestRows(client_table_.get(), FLAGS_test_scan_num_rows)); : KuduScanner scanner(client_table_.get()); : ASSERT_OK(scanner.SetProjectedColumns({ "key" })); : ASSERT_OK(scanner.Open()); : : ASSERT_TRUE(scanner.HasMoreRows()); : KuduScanBatch batch; : while (scanner.HasMoreRows()) { : ASSERT_OK(scanner.NextBatch()); : for (const KuduScanBatch::RowPtr& row : batch) { : ASSERT_NE("(int32 key=)", row.ToString()); : } : } > this doesn't strike me as a very good test, particularly if we make this mo Added more unit tests for scan with different replica selection, and multi tablets scan. I am planning to add some integration tests. -- To view, visit http://gerrit.cloudera.org:8080/8823 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 Gerrit-Change-Number: 8823 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Fri, 12 Jan 2018 03:58:18 + Gerrit-HasComments: Yes
[kudu-CR] [WIP] KUDU-1704: add READ YOUR WRITES scan mode
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8804 ) Change subject: [WIP] KUDU-1704: add READ_YOUR_WRITES scan mode .. Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/8804/1/src/kudu/common/common.proto File src/kudu/common/common.proto: http://gerrit.cloudera.org:8080/#/c/8804/1/src/kudu/common/common.proto@228 PS1, Line 228: transactions). If no propagated timestamp is provided the server will take : // the timestamp which all transactions before it are committed. : // : // READ_YOUR_WRITES is repeatable, i.e. all future reads at the same timestamp : // will yield the same rows. It also allows read-your- > Yes, will do, thanks! After more offline discussions and doing more research on the definition of RR (The expected behavior is that effects of a committed transaction cannot become visible in the middle of execution of a transaction), I think in the context of single row write transaction, READ_AT_SNAPSHOT without a timestamp is repeatable as well. Therefore, I think the above patch is no longer needed. -- To view, visit http://gerrit.cloudera.org:8080/8804 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I84ddb981a1a0f199d4e66f5d5097318f8c785a48 Gerrit-Change-Number: 8804 Gerrit-PatchSet: 5 Gerrit-Owner: Hao HaoGerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Comment-Date: Fri, 12 Jan 2018 03:54:35 + Gerrit-HasComments: Yes
[kudu-CR] [WIP] KUDU-1704: add READ YOUR WRITES scan mode
Hello Alexey Serbin, Mike Percy, David Ribeiro Alves, Kudu Jenkins, Andrew Wong, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8804 to look at the new patch set (#5). Change subject: [WIP] KUDU-1704: add READ_YOUR_WRITES scan mode .. [WIP] KUDU-1704: add READ_YOUR_WRITES scan mode This patch adds a new read mode READ_YOUR_WRITES on tserver. In this mode, the server will pick a snapshot in the past, subject to the propagated timestamp bound, and perform a read. The chosen snapshot timestamp is returned back to the client. READ_YOUR_WRITES mode is repeatable and allows client local read-your-writes. The major difference between READ_AT_SNAPSHOT scan without a timestamp and READ_YOUR_WRITES scan is the latter will choose the newest timestamp within the staleness bound that allows execution of the reads without being blocked by the in-flight transactions. Change-Id: I84ddb981a1a0f199d4e66f5d5097318f8c785a48 --- M src/kudu/common/common.proto M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tablet_service.h 4 files changed, 276 insertions(+), 52 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/04/8804/5 -- To view, visit http://gerrit.cloudera.org:8080/8804 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I84ddb981a1a0f199d4e66f5d5097318f8c785a48 Gerrit-Change-Number: 8804 Gerrit-PatchSet: 5 Gerrit-Owner: Hao HaoGerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy
[kudu-CR] [WIP]KUDU-1704: add java client support for READ YOUR WRITES mode
Hello David Ribeiro Alves, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8847 to look at the new patch set (#2). Change subject: [WIP]KUDU-1704: add java client support for READ_YOUR_WRITES mode .. [WIP]KUDU-1704: add java client support for READ_YOUR_WRITES mode Change-Id: I6239521c022147257859e399f55c6f3f945af465 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestScannerMultiTablet.java 4 files changed, 135 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/47/8847/2 -- To view, visit http://gerrit.cloudera.org:8080/8847 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6239521c022147257859e399f55c6f3f945af465 Gerrit-Change-Number: 8847 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] [WIP]KUDU-1704: add java client support for READ YOUR WRITES mode
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/8847 ) Change subject: [WIP]KUDU-1704: add java client support for READ_YOUR_WRITES mode .. Patch Set 1: (3 comments) http://gerrit.cloudera.org:8080/#/c/8847/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java File java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java: http://gerrit.cloudera.org:8080/#/c/8847/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java@132 PS1, Line 132: * Reads in this mode are not repeatable: two stale reads, even if they : * provide the same propagated timestamp bound, can execute at different : * timestamps and thus return inconsistent results. However, it allows : * read-your-writes for each client, as the picked timestamp must be higher : * than the one of the last write or read, known from the propagated timestamp. > let's reword this according to what we discussed in the other patch Done http://gerrit.cloudera.org:8080/#/c/8847/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java@138 PS1, Line 138: * In ACID terms this corresponds to Isolation mode: "Read Committed" > This isn't true, is it? Done http://gerrit.cloudera.org:8080/#/c/8847/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java: http://gerrit.cloudera.org:8080/#/c/8847/1/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduClient.java@986 PS1, Line 986: testScanOwnSyncWrites > nit: testReadOwnWritesSync? Done -- To view, visit http://gerrit.cloudera.org:8080/8847 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6239521c022147257859e399f55c6f3f945af465 Gerrit-Change-Number: 8847 Gerrit-PatchSet: 1 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Fri, 12 Jan 2018 03:41:54 + Gerrit-HasComments: Yes
[kudu-CR] [WIP]KUDU-1704: add c++ client support for READ YOUR WRITES mode
Hello David Ribeiro Alves, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8823 to look at the new patch set (#2). Change subject: [WIP]KUDU-1704: add c++ client support for READ_YOUR_WRITES mode .. [WIP]KUDU-1704: add c++ client support for READ_YOUR_WRITES mode Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 --- M src/kudu/client/client-test.cc M src/kudu/client/client.cc M src/kudu/client/client.h M src/kudu/client/scan_token-internal.cc M src/kudu/client/scan_token-test.cc M src/kudu/client/scanner-internal.cc 6 files changed, 151 insertions(+), 59 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/8823/2 -- To view, visit http://gerrit.cloudera.org:8080/8823 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I34214245a78aed172a28fbdb395ff5bccd0fc0e1 Gerrit-Change-Number: 8823 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] WIP [raft consensus-itest] proper fix for Test KUDU 1735
Mike Percy has posted comments on this change. ( http://gerrit.cloudera.org:8080/8989 ) Change subject: WIP [raft_consensus-itest] proper fix for Test_KUDU_1735 .. Patch Set 2: I posted a rough sketch of a fix and an explanation in https://gerrit.cloudera.org/c/9013/ -- To view, visit http://gerrit.cloudera.org:8080/8989 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibd7695f2b78da9755eb109940b40bda2bc6ec02e Gerrit-Change-Number: 8989 Gerrit-PatchSet: 2 Gerrit-Owner: Alexey SerbinGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Comment-Date: Fri, 12 Jan 2018 02:55:31 + Gerrit-HasComments: No
[kudu-CR] KUDU-2216. Post process gtest generated xml to include the output from the *.txt files
Mike Percy has posted comments on this change. ( http://gerrit.cloudera.org:8080/8757 ) Change subject: KUDU-2216. Post process gtest generated xml to include the output from the *.txt files .. Patch Set 14: Consider using https://gerrit.cloudera.org/c/8984/ as a template and taking Adar's suggestion to move this logic to run-test.sh -- To view, visit http://gerrit.cloudera.org:8080/8757 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I9f4a9a147f29e37e380cb32ff5af43e1290a1a70 Gerrit-Change-Number: 8757 Gerrit-PatchSet: 14 Gerrit-Owner: Edward FancherGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Edward Fancher Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 02:54:33 + Gerrit-HasComments: No
[kudu-CR] build: Move fake XML file generation to run-test.sh
Hello Edward Fancher, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8984 to look at the new patch set (#3). Change subject: build: Move fake XML file generation to run-test.sh .. build: Move fake XML file generation to run-test.sh It's fewer lines of code and more reusable for this to live in run-test.sh instead of build-and-test.sh Change-Id: Iaa89c806039a96ac0a6b7262ded74f70f49f87ac --- M build-support/jenkins/build-and-test.sh M build-support/run-test.sh 2 files changed, 6 insertions(+), 18 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/84/8984/3 -- To view, visit http://gerrit.cloudera.org:8080/8984 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iaa89c806039a96ac0a6b7262ded74f70f49f87ac Gerrit-Change-Number: 8984 Gerrit-PatchSet: 3 Gerrit-Owner: Mike PercyGerrit-Reviewer: Edward Fancher Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] KUDU-2208 Refine unit test and move RETRY ON EINTR() to os-util.h
Jeffrey F. Lukman has uploaded this change for review. ( http://gerrit.cloudera.org:8080/9015 Change subject: KUDU-2208 Refine unit test and move RETRY_ON_EINTR() to os-util.h .. KUDU-2208 Refine unit test and move RETRY_ON_EINTR() to os-util.h This patch refines some nits and also change unit test scenario, such that the send kill signals are sent continously without any delay until the kill signals succeeded thousands of times. In the buggy code, the subprocess_thread will throws Interrupted system call error. Furthermore, this bug also move the RETRY_ON_EINTR() function that occurs in many places across the system into the os-util.h. Change-Id: I148b4619a8dda8e3e95dd6ea5c6e993a9e37a333 --- M src/kudu/consensus/log_index.cc M src/kudu/util/env_posix.cc M src/kudu/util/net/socket.cc M src/kudu/util/os-util.h M src/kudu/util/subprocess-test.cc M src/kudu/util/subprocess.cc 6 files changed, 25 insertions(+), 45 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/15/9015/1 -- To view, visit http://gerrit.cloudera.org:8080/9015 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I148b4619a8dda8e3e95dd6ea5c6e993a9e37a333 Gerrit-Change-Number: 9015 Gerrit-PatchSet: 1 Gerrit-Owner: Jeffrey F. Lukman
[kudu-CR] consensus: Fix KUDU-1735 regression test in 3-4-3 mode
Hello Alexey Serbin, I'd like you to do a code review. Please visit http://gerrit.cloudera.org:8080/9013 to review the following change. Change subject: consensus: Fix KUDU-1735 regression test in 3-4-3 mode .. consensus: Fix KUDU-1735 regression test in 3-4-3 mode This updates the KUDU-1735 test to run both when 3-4-3 is enabled and disabled. This test had been failing in 3-4-3 mode because a non-voter cannot commit its own addition to the config, so the fault flag that triggered a crash on commit would never fire, resulting in a test failure while waiting for the crash of the removed server. The fact that this test passed prior to the fix in commit 1277f69 was a result of the ack-counting bug fixed by that patch. Change-Id: I275ba76c7fc7711e05b9dbda02a659d4245c40d0 --- M src/kudu/integration-tests/cluster_itest_util.h M src/kudu/integration-tests/raft_consensus-itest.cc M src/kudu/util/fault_injection.cc 3 files changed, 32 insertions(+), 11 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/13/9013/1 -- To view, visit http://gerrit.cloudera.org:8080/9013 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I275ba76c7fc7711e05b9dbda02a659d4245c40d0 Gerrit-Change-Number: 9013 Gerrit-PatchSet: 1 Gerrit-Owner: Mike PercyGerrit-Reviewer: Alexey Serbin
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: > Hmm, I thought we'd seen a case where a user had created a > KuduContext inside their executor somehow. Did it turn out that we > misdiagnosed that issue? Right, unfortunately, I think it turned out to be a misdiagnosis. Even though the user is creating KuduContext inside foreachRDD, it is actually executed in the driver(according to spark streaming guide https://spark.apache.org/docs/latest/streaming-programming-guide.html#output-operations-on-dstreams) unlike RDD.foreachPartition etc. -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 01:07:49 + Gerrit-HasComments: No
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: Hmm, I thought we'd seen a case where a user had created a KuduContext inside their executor somehow. Did it turn out that we misdiagnosed that issue? -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 00:54:36 + Gerrit-HasComments: No
[kudu-CR] KUDU-2253 Deltafile on-disk size is 3x larger than expected
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/8982 ) Change subject: KUDU-2253 Deltafile on-disk size is 3x larger than expected .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/8982/2/src/kudu/tablet/deltafile.cc File src/kudu/tablet/deltafile.cc: http://gerrit.cloudera.org:8080/#/c/8982/2/src/kudu/tablet/deltafile.cc@107 PS2, Line 107: opts.optimize_index_keys = false; did you consider putting the function in WriterOptions instead of a new parameter? http://gerrit.cloudera.org:8080/#/c/8982/2/src/kudu/tablet/deltafile.cc@109 PS2, Line 109: cfile::ValidxKeyEncoder key_encoder = [] (const void* value, faststring* buffer) { worth a comment here explaining why we can truncate the index and why we need the whole DeltaKey -- To view, visit http://gerrit.cloudera.org:8080/8982 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4cea3371fcf57f89fe10a3b9262bc152023cb04c Gerrit-Change-Number: 8982 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Grant Henke Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-Comment-Date: Fri, 12 Jan 2018 00:53:10 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: I would like to abandon this code review if there is no objections, given the reason responded in previous comment, repasted it here. "This patch may not be necessary. Since creation of KuduContext needs SparkContext, while SparkContext cannot be serializable to executors. That means the users need to create a new SparkContext in the executor to be able to create KuduContext, and SparkContext should be a driver specific entity." -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 00:52:04 + Gerrit-HasComments: No
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/9004/2/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala File java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala: http://gerrit.cloudera.org:8080/#/c/9004/2/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala@93 PS2, Line 93: private[kudu] val taskContext = TaskContext.get > does this field now end up serialized? Given this field isn't marked @trans It is hard to be certain that TaskContext is always null in the driver but not the executor based on my knowledge. At least from what I have experiments it is this case (also according to the spark documentation). However, I had a discussion with Dan offline, that this patch may not be necessary. Since creation of KuduContext needs SparkContext, while SparkContext cannot be serializable to executors. That means the users need to create a new SparkContext in the executor to be able to create KuduContext, and SparkContext should be a driver specific entity. -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 00:49:36 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2253 Deltafile on-disk size is 3x larger than expected
Dan Burkert has posted comments on this change. ( http://gerrit.cloudera.org:8080/8982 ) Change subject: KUDU-2253 Deltafile on-disk size is 3x larger than expected .. Patch Set 2: New version should be backwards compatible with previous server versions, so no cfile flag needed. -- To view, visit http://gerrit.cloudera.org:8080/8982 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I4cea3371fcf57f89fe10a3b9262bc152023cb04c Gerrit-Change-Number: 8982 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Grant Henke Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-Comment-Date: Fri, 12 Jan 2018 00:44:50 + Gerrit-HasComments: No
[kudu-CR] KUDU-2253 Deltafile on-disk size is 3x larger than expected
Hello Will Berkeley, Kudu Jenkins, Grant Henke, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8982 to look at the new patch set (#2). Change subject: KUDU-2253 Deltafile on-disk size is 3x larger than expected .. KUDU-2253 Deltafile on-disk size is 3x larger than expected While looking into the performance of the integration test written for KUDU-2251 (https://gerrit.cloudera.org/#/c/8951/ revision 6), Todd and I found that the on-disk deltafiles written are about 3x larger than expected. The culprit is an optimization in the CFile value index which is turned off for delta files. The optimization truncates large keys after the first unique byte between sequential values. The deltafile values, in the case of this integration test, include the small DeltaKey, and the 8KiB updated value. As a result the BTree interior nodes are being completely filled by only ~4 values (32KiB cblock size by default). This makes the BTree far less effective, and means that the full updated data is written many times. We expect fixing this will improve performance for update-heavy workloads with large values (for example, YCSB). Unfortunately, fixing the issue is not quite as simple as enabling the optimization for deltafiles, since in the normal course of seeking through deltafiles during a scan, we deserialze the value index keys into a DeltaKey. If the values are truncated this deserialization step can fail. Instead, this patch adds overridable value index key encoding to CFileWriter, and delta file overrides it to only encode the delta key, which is usually very short, and a maximum of ~18 bytes. Change-Id: I4cea3371fcf57f89fe10a3b9262bc152023cb04c --- M src/kudu/cfile/cfile_writer.cc M src/kudu/cfile/cfile_writer.h M src/kudu/tablet/deltafile.cc 3 files changed, 40 insertions(+), 18 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/82/8982/2 -- To view, visit http://gerrit.cloudera.org:8080/8982 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4cea3371fcf57f89fe10a3b9262bc152023cb04c Gerrit-Change-Number: 8982 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Grant Henke Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] Kudu-2208 Avoid system call interruption in Subprocess
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9011 ) Change subject: Kudu-2208 Avoid system call interruption in Subprocess .. Patch Set 1: (10 comments) I think it's also worth testing Subprocess::Call which seems to have some bugs as well http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc File src/kudu/util/subprocess-test.cc: http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@301 PS1, Line 301: thd nit: either abbreviate to just 't' or 'thr' would be more in line with what we do elsewhere. http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@303 PS1, Line 303: subprocessThread nit: we use snake_case style in C++ http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@305 PS1, Line 305: ASSERT_OK(p.Start()); I think adding a short sleep here (eg 50ms) is a good idea to ensure that the signals being sent from the other thread have a chance to race against Start() and not just Wait() http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@310 PS1, Line 310: // create signal you aren't creating a signal here, but rather setting up a signal handler http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@317 PS1, Line 317: // send at most 10 kill signals to subprocess why at most 10? Why not loop until we see that the subprocess has exited? I think there is a getter like 'joinable()' that you could use in a while loop. Sending only 10 leaves open a possibility that we dont' cover all the potential races http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@319 PS1, Line 319: int signalCounter = 0; : bool hasError = false; : nit: snake_case http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@322 PS1, Line 322: if (signalCounter > 10 || hasError) break; why not just put this into the while condition above? http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@325 PS1, Line 325: hasError = pthread_kill(thd, SIGUSR2) == 0; do we expect any errors from this? if not, could we just ASSERT this? http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess-test.cc@330 PS1, Line 330: SleepFor(MonoDelta::FromMilliseconds(10)); why sleep in between? if our goal is to provoke races we want to send as many signals as we can as fast as possible. http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess.cc File src/kudu/util/subprocess.cc: http://gerrit.cloudera.org:8080/#/c/9011/1/src/kudu/util/subprocess.cc@67 PS1, Line 67: // Retry on EINTR for functions like read() that return -1 on error. can we move this function to a utility header since it's used in a few places now? maybe os-util.h -- To view, visit http://gerrit.cloudera.org:8080/9011 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I66ab2ec391eced5ea1c37d4294d151fe03c7d586 Gerrit-Change-Number: 9011 Gerrit-PatchSet: 1 Gerrit-Owner: Jeffrey F. LukmanGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Fri, 12 Jan 2018 00:03:45 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Todd Lipcon has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/9004/2//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/9004/2//COMMIT_MSG@16 PS2, Line 16: KuduContecx nit: typo http://gerrit.cloudera.org:8080/#/c/9004/2/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala File java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala: http://gerrit.cloudera.org:8080/#/c/9004/2/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala@93 PS2, Line 93: private[kudu] val taskContext = TaskContext.get does this field now end up serialized? Given this field isn't marked @transient, and it's a serializable type, I'm guessing it would get serialized into the KuduContext. That said, maybe it's fine because we expect KuduContext to only be serialized on the driver and deserialized on the executor, and in the driver, TaskContext is always null? -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 23:56:35 + Gerrit-HasComments: Yes
[kudu-CR] Kudu-2208 Avoid system call interruption in Subprocess
Jeffrey F. Lukman has uploaded this change for review. ( http://gerrit.cloudera.org:8080/9011 Change subject: Kudu-2208 Avoid system call interruption in Subprocess .. Kudu-2208 Avoid system call interruption in Subprocess This patch includes additional unit test to detect this bug. To fix the issue, this patch added RETRY_ON_EINTR in Subprocess::DoWait() if the waitpid() return -1. Change-Id: I66ab2ec391eced5ea1c37d4294d151fe03c7d586 --- M src/kudu/util/subprocess-test.cc M src/kudu/util/subprocess.cc 2 files changed, 52 insertions(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/11/9011/1 -- To view, visit http://gerrit.cloudera.org:8080/9011 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I66ab2ec391eced5ea1c37d4294d151fe03c7d586 Gerrit-Change-Number: 9011 Gerrit-PatchSet: 1 Gerrit-Owner: Jeffrey F. Lukman
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Alex Rodoni has posted comments on this change. ( http://gerrit.cloudera.org:8080/8948 ) Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. Patch Set 13: > Uploaded patch set 13. Changed "Impala-shell" to "impala-shell" with code font. -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 13 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 23:29:32 + Gerrit-HasComments: No
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Hello Thomas Tauber-Marshall, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8948 to look at the new patch set (#13). Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. [docs] Added steps to update HMS after migrating to multiple Kudu masters Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db --- M docs/administration.adoc A docs/patch 2 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/8948/13 -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 13 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Hello Thomas Tauber-Marshall, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8948 to look at the new patch set (#12). Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. [docs] Added steps to update HMS after migrating to multiple Kudu masters Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db --- M docs/administration.adoc 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/8948/12 -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 12 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon
[kudu-CR](branch-1.5.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Jean-Daniel Cryans has posted comments on this change. ( http://gerrit.cloudera.org:8080/8941 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. Patch Set 8: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/8941 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.5.x Gerrit-MessageType: comment Gerrit-Change-Id: I598344e22fc1ecbb482bfe85ea3867ddf63963b4 Gerrit-Change-Number: 8941 Gerrit-PatchSet: 8 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 22:15:38 + Gerrit-HasComments: No
[kudu-CR](branch-1.6.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Jean-Daniel Cryans has posted comments on this change. ( http://gerrit.cloudera.org:8080/9008 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. Patch Set 1: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/9008 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.6.x Gerrit-MessageType: comment Gerrit-Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Gerrit-Change-Number: 9008 Gerrit-PatchSet: 1 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 22:15:06 + Gerrit-HasComments: No
[kudu-CR](branch-1.6.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Jean-Daniel Cryans has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/9008 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. KUDU-2251: rowset size can overflow int in RowSetInfo This overflow causes a CHECK failure from rowset compaction planning in tablets with rowsets with more than 2GiB of REDO deltafiles: *** SIGABRT (@0x3ce7614) received by PID 30228 (TID 0x7fbb52a5e700) from PID 30228; stack trace: *** @ 0x7fbb977cb100 (unknown) @ 0x7fbb95a985f7 __GI_raise @ 0x7fbb95a99ce8 __GI_abort @ 0x1af56d9 (unknown) @ 0x8baf3d google::LogMessage::Fail() @ 0x8bce93 google::LogMessage::SendToLog() @ 0x8baa99 google::LogMessage::Flush() @ 0x8bd81f google::LogMessageFatal::~LogMessageFatal() @ 0x9f71d6 kudu::tablet::RowSetInfo::CollectOrdered() @ 0x9d42d9 kudu::tablet::BudgetedCompactionPolicy::SetupKnapsackInput() @ 0x9d5a3a kudu::tablet::BudgetedCompactionPolicy::PickRowSets() @ 0x98e28f kudu::tablet::Tablet::UpdateCompactionStats() @ 0x9aff08 kudu::tablet::CompactRowSetsOp::UpdateStats() @ 0x1ae02b5 kudu::MaintenanceManager::FindBestOp() @ 0x1ae2bce kudu::MaintenanceManager::RunSchedulerThread() @ 0x1b27eda kudu::Thread::SuperviseThread() @ 0x7fbb977c3dc5 start_thread @ 0x7fbb95b5921d __clone @0x0 (unknown) Testing: included is a targeted unit-test which reproduces the overflow quickly and deterministically. I also reproduced the issue using an integration test, however that test exposed other issues which need to be addressed before it can land (KUDU-2253). I'll be working on that in a follow-up commit. Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Reviewed-on: http://gerrit.cloudera.org:8080/8951 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves(cherry picked from commit 56107ac806a171db33f09c6bdce7909bb8c9bd4b) Reviewed-on: http://gerrit.cloudera.org:8080/9008 Reviewed-by: Jean-Daniel Cryans --- M src/kudu/tablet/compaction_policy-test.cc M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset_info.h 3 files changed, 24 insertions(+), 6 deletions(-) Approvals: Kudu Jenkins: Verified Jean-Daniel Cryans: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/9008 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.6.x Gerrit-MessageType: merged Gerrit-Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Gerrit-Change-Number: 9008 Gerrit-PatchSet: 2 Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR](branch-1.5.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Jean-Daniel Cryans has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8941 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. KUDU-2251: rowset size can overflow int in RowSetInfo This overflow causes a CHECK failure from rowset compaction planning in tablets with rowsets with more than 2GiB of REDO deltafiles: *** SIGABRT (@0x3ce7614) received by PID 30228 (TID 0x7fbb52a5e700) from PID 30228; stack trace: *** @ 0x7fbb977cb100 (unknown) @ 0x7fbb95a985f7 __GI_raise @ 0x7fbb95a99ce8 __GI_abort @ 0x1af56d9 (unknown) @ 0x8baf3d google::LogMessage::Fail() @ 0x8bce93 google::LogMessage::SendToLog() @ 0x8baa99 google::LogMessage::Flush() @ 0x8bd81f google::LogMessageFatal::~LogMessageFatal() @ 0x9f71d6 kudu::tablet::RowSetInfo::CollectOrdered() @ 0x9d42d9 kudu::tablet::BudgetedCompactionPolicy::SetupKnapsackInput() @ 0x9d5a3a kudu::tablet::BudgetedCompactionPolicy::PickRowSets() @ 0x98e28f kudu::tablet::Tablet::UpdateCompactionStats() @ 0x9aff08 kudu::tablet::CompactRowSetsOp::UpdateStats() @ 0x1ae02b5 kudu::MaintenanceManager::FindBestOp() @ 0x1ae2bce kudu::MaintenanceManager::RunSchedulerThread() @ 0x1b27eda kudu::Thread::SuperviseThread() @ 0x7fbb977c3dc5 start_thread @ 0x7fbb95b5921d __clone @0x0 (unknown) Testing: included is a targeted unit-test which reproduces the overflow quickly and deterministically. I also reproduced the issue using an integration test, however that test exposed other issues which need to be addressed before it can land (KUDU-2253). I'll be working on that in a follow-up commit. Change-Id: I598344e22fc1ecbb482bfe85ea3867ddf63963b4 Reviewed-on: http://gerrit.cloudera.org:8080/8941 Tested-by: Kudu Jenkins Reviewed-by: Jean-Daniel Cryans--- M src/kudu/tablet/compaction_policy-test.cc M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset_info.h 3 files changed, 29 insertions(+), 4 deletions(-) Approvals: Kudu Jenkins: Verified Jean-Daniel Cryans: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/8941 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.5.x Gerrit-MessageType: merged Gerrit-Change-Id: I598344e22fc1ecbb482bfe85ea3867ddf63963b4 Gerrit-Change-Number: 8941 Gerrit-PatchSet: 9 Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Alex Rodoni has posted comments on this change. ( http://gerrit.cloudera.org:8080/8948 ) Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. Patch Set 10: (1 comment) > (1 comment) DONE http://gerrit.cloudera.org:8080/#/c/8948/8/docs/security.adoc File docs/security.adoc: http://gerrit.cloudera.org:8080/#/c/8948/8/docs/security.adoc@102 PS8, Line 102: == Scalability > it seems this change snuck into the wrong git commit? Yes -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 10 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 21:55:48 + Gerrit-HasComments: Yes
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Hello Thomas Tauber-Marshall, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8948 to look at the new patch set (#11). Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. [docs] Added steps to update HMS after migrating to multiple Kudu masters Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db --- M docs/administration.adoc 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/8948/11 -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 11 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Thomas Tauber-Marshall has posted comments on this change. ( http://gerrit.cloudera.org:8080/8948 ) Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. Patch Set 10: (1 comment) http://gerrit.cloudera.org:8080/#/c/8948/10/docs/administration.adoc File docs/administration.adoc: http://gerrit.cloudera.org:8080/#/c/8948/10/docs/administration.adoc@389 PS10, Line 389: master.addresses master_addresses -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 10 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 21:43:02 + Gerrit-HasComments: Yes
[kudu-CR](branch-1.5.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Dan Burkert has posted comments on this change. ( http://gerrit.cloudera.org:8080/8941 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. Patch Set 8: Two straight failures of what appears to be KUDU-1736. Bad luck, or related? -- To view, visit http://gerrit.cloudera.org:8080/8941 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.5.x Gerrit-MessageType: comment Gerrit-Change-Id: I598344e22fc1ecbb482bfe85ea3867ddf63963b4 Gerrit-Change-Number: 8941 Gerrit-PatchSet: 8 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 21:30:30 + Gerrit-HasComments: No
[kudu-CR] rpc: allow setting --rpc tls min protocol on older RHEL versions
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/7821 ) Change subject: rpc: allow setting --rpc_tls_min_protocol on older RHEL versions .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc File src/kudu/security/tls_context.cc: http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc@52 PS2, Line 52: // --rpc-tls-min-protocol=TLSv1.2 option, negotiations will fail at runtime with : // a 'missing protocol' error: : / > is there any way we can make this fail earlier? ie at startup rather than a I think it's possible to look at SSLv23_method()->version just after initialization of the OpenSSL library. It looks like a hack, but it works for the way how the SSLv23_method() is implemented. As a POC, I compiled the code below at CentOS 6.4 with OpenSSL 1.0.0-stable and then ran both against 1.0.0u and 1.0.1e version. The output was (it's in hexadecimal): 1.0.0u: 301 1.0.1e: 303 301 corresponds to TLSv1 303 corresponds to TLSv1.2 #include #include #include using namespace std; void init_openssl() { SSL_load_error_strings(); OpenSSL_add_ssl_algorithms(); } void cleanup_openssl() { EVP_cleanup(); } int main() { init_openssl(); cout << std::hex << SSLv23_method()->version << endl; cleanup_openssl(); return 0; } -- To view, visit http://gerrit.cloudera.org:8080/7821 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic61f31788d63072fae609c6a2186e52d5e2467b7 Gerrit-Change-Number: 7821 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 21:20:45 + Gerrit-HasComments: Yes
[kudu-CR](branch-1.6.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Dan Burkert has uploaded this change for review. ( http://gerrit.cloudera.org:8080/9008 Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. KUDU-2251: rowset size can overflow int in RowSetInfo This overflow causes a CHECK failure from rowset compaction planning in tablets with rowsets with more than 2GiB of REDO deltafiles: *** SIGABRT (@0x3ce7614) received by PID 30228 (TID 0x7fbb52a5e700) from PID 30228; stack trace: *** @ 0x7fbb977cb100 (unknown) @ 0x7fbb95a985f7 __GI_raise @ 0x7fbb95a99ce8 __GI_abort @ 0x1af56d9 (unknown) @ 0x8baf3d google::LogMessage::Fail() @ 0x8bce93 google::LogMessage::SendToLog() @ 0x8baa99 google::LogMessage::Flush() @ 0x8bd81f google::LogMessageFatal::~LogMessageFatal() @ 0x9f71d6 kudu::tablet::RowSetInfo::CollectOrdered() @ 0x9d42d9 kudu::tablet::BudgetedCompactionPolicy::SetupKnapsackInput() @ 0x9d5a3a kudu::tablet::BudgetedCompactionPolicy::PickRowSets() @ 0x98e28f kudu::tablet::Tablet::UpdateCompactionStats() @ 0x9aff08 kudu::tablet::CompactRowSetsOp::UpdateStats() @ 0x1ae02b5 kudu::MaintenanceManager::FindBestOp() @ 0x1ae2bce kudu::MaintenanceManager::RunSchedulerThread() @ 0x1b27eda kudu::Thread::SuperviseThread() @ 0x7fbb977c3dc5 start_thread @ 0x7fbb95b5921d __clone @0x0 (unknown) Testing: included is a targeted unit-test which reproduces the overflow quickly and deterministically. I also reproduced the issue using an integration test, however that test exposed other issues which need to be addressed before it can land (KUDU-2253). I'll be working on that in a follow-up commit. Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Reviewed-on: http://gerrit.cloudera.org:8080/8951 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves(cherry picked from commit 56107ac806a171db33f09c6bdce7909bb8c9bd4b) --- M src/kudu/tablet/compaction_policy-test.cc M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset_info.h 3 files changed, 24 insertions(+), 6 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/08/9008/1 -- To view, visit http://gerrit.cloudera.org:8080/9008 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.6.x Gerrit-MessageType: newchange Gerrit-Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Gerrit-Change-Number: 9008 Gerrit-PatchSet: 1 Gerrit-Owner: Dan Burkert
[kudu-CR] KUDU-2251: rowset size can overflow int in RowSetInfo
Dan Burkert has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8951 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. KUDU-2251: rowset size can overflow int in RowSetInfo This overflow causes a CHECK failure from rowset compaction planning in tablets with rowsets with more than 2GiB of REDO deltafiles: *** SIGABRT (@0x3ce7614) received by PID 30228 (TID 0x7fbb52a5e700) from PID 30228; stack trace: *** @ 0x7fbb977cb100 (unknown) @ 0x7fbb95a985f7 __GI_raise @ 0x7fbb95a99ce8 __GI_abort @ 0x1af56d9 (unknown) @ 0x8baf3d google::LogMessage::Fail() @ 0x8bce93 google::LogMessage::SendToLog() @ 0x8baa99 google::LogMessage::Flush() @ 0x8bd81f google::LogMessageFatal::~LogMessageFatal() @ 0x9f71d6 kudu::tablet::RowSetInfo::CollectOrdered() @ 0x9d42d9 kudu::tablet::BudgetedCompactionPolicy::SetupKnapsackInput() @ 0x9d5a3a kudu::tablet::BudgetedCompactionPolicy::PickRowSets() @ 0x98e28f kudu::tablet::Tablet::UpdateCompactionStats() @ 0x9aff08 kudu::tablet::CompactRowSetsOp::UpdateStats() @ 0x1ae02b5 kudu::MaintenanceManager::FindBestOp() @ 0x1ae2bce kudu::MaintenanceManager::RunSchedulerThread() @ 0x1b27eda kudu::Thread::SuperviseThread() @ 0x7fbb977c3dc5 start_thread @ 0x7fbb95b5921d __clone @0x0 (unknown) Testing: included is a targeted unit-test which reproduces the overflow quickly and deterministically. I also reproduced the issue using an integration test, however that test exposed other issues which need to be addressed before it can land (KUDU-2253). I'll be working on that in a follow-up commit. Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Reviewed-on: http://gerrit.cloudera.org:8080/8951 Tested-by: Kudu Jenkins Reviewed-by: David Ribeiro Alves--- M src/kudu/tablet/compaction_policy-test.cc M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset_info.h 3 files changed, 24 insertions(+), 6 deletions(-) Approvals: Kudu Jenkins: Verified David Ribeiro Alves: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/8951 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Gerrit-Change-Number: 8951 Gerrit-PatchSet: 8 Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Hello Thomas Tauber-Marshall, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8948 to look at the new patch set (#10). Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. [docs] Added steps to update HMS after migrating to multiple Kudu masters Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db --- M docs/administration.adoc 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/8948/10 -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 10 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon
[kudu-CR] rpc: allow setting --rpc tls min protocol on older RHEL versions
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/7821 ) Change subject: rpc: allow setting --rpc_tls_min_protocol on older RHEL versions .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc File src/kudu/security/tls_context.cc: http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc@155 PS2, Line 155:options |= SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1; > No, negotiation will fail with the error on line 55. Ah, right, thanks. It seems I missed read that comment, starting from this place, my bad. -- To view, visit http://gerrit.cloudera.org:8080/7821 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic61f31788d63072fae609c6a2186e52d5e2467b7 Gerrit-Change-Number: 7821 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 20:43:41 + Gerrit-HasComments: Yes
[kudu-CR] rpc: allow setting --rpc tls min protocol on older RHEL versions
Dan Burkert has posted comments on this change. ( http://gerrit.cloudera.org:8080/7821 ) Change subject: rpc: allow setting --rpc_tls_min_protocol on older RHEL versions .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc File src/kudu/security/tls_context.cc: http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc@155 PS2, Line 155:options |= SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1; > I'm curious what happens if the built binary is run with the library that d No, negotiation will fail with the error on line 55. -- To view, visit http://gerrit.cloudera.org:8080/7821 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic61f31788d63072fae609c6a2186e52d5e2467b7 Gerrit-Change-Number: 7821 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 20:40:24 + Gerrit-HasComments: Yes
[kudu-CR] rpc: allow setting --rpc tls min protocol on older RHEL versions
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/7821 ) Change subject: rpc: allow setting --rpc_tls_min_protocol on older RHEL versions .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc File src/kudu/security/tls_context.cc: http://gerrit.cloudera.org:8080/#/c/7821/2/src/kudu/security/tls_context.cc@155 PS2, Line 155:options |= SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1; I'm curious what happens if the built binary is run with the library that does not support TLSv1.2. Is it going just to silently run the with TLSv1.1 here regardless of the fact that the --rpc_tls_min_protocol=TLSv1.2 is set? -- To view, visit http://gerrit.cloudera.org:8080/7821 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic61f31788d63072fae609c6a2186e52d5e2467b7 Gerrit-Change-Number: 7821 Gerrit-PatchSet: 2 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 20:25:05 + Gerrit-HasComments: Yes
[kudu-CR] [docs] Added a section for Kudu clients connecting to secure clusters
Alex Rodoni has posted comments on this change. ( http://gerrit.cloudera.org:8080/8953 ) Change subject: [docs] Added a section for Kudu clients connecting to secure clusters .. Patch Set 1: (4 comments) > (4 comments) done http://gerrit.cloudera.org:8080/#/c/8953/3//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/8953/3//COMMIT_MSG@7 PS3, Line 7: Kerberose Kudu > ? Done http://gerrit.cloudera.org:8080/#/c/8953/5//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/8953/5//COMMIT_MSG@7 PS5, Line 7: . > nit: don't end the first line in a commit message with a period. Done http://gerrit.cloudera.org:8080/#/c/8953/1/docs/security.adoc File docs/security.adoc: http://gerrit.cloudera.org:8080/#/c/8953/1/docs/security.adoc@102 PS1, Line 102: Server > I think a better title would be 'Client Authentication to Secure Kudu Clust Done http://gerrit.cloudera.org:8080/#/c/8953/1/docs/security.adoc@105 PS1, Line 105: ith > with the Done -- To view, visit http://gerrit.cloudera.org:8080/8953 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iabee52216b4db0e18e5f693375f0a3e0f0a8a164 Gerrit-Change-Number: 8953 Gerrit-PatchSet: 1 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Alexey Serbin Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Thu, 11 Jan 2018 19:38:32 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 2: (2 comments) http://gerrit.cloudera.org:8080/#/c/9004/1/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala File java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala: http://gerrit.cloudera.org:8080/#/c/9004/1/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala@91 PS1, Line 91: // Checking if KuduContext is created inside an active task, > The logger inside the object on line 316 should be available here. 'val' f Done http://gerrit.cloudera.org:8080/#/c/9004/1/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala@94 PS1, Line 94: if (taskContext != null) { > mark this private[kudu] Done -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 2 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Hao Hao Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Thu, 11 Jan 2018 19:12:06 + Gerrit-HasComments: Yes
[kudu-CR] [docs] Added steps to update HMS after migrating to multiple Kudu masters
Alex Rodoni has posted comments on this change. ( http://gerrit.cloudera.org:8080/8948 ) Change subject: [docs] Added steps to update HMS after migrating to multiple Kudu masters .. Patch Set 8: (2 comments) > (3 comments) http://gerrit.cloudera.org:8080/#/c/8948/8/docs/administration.adoc File docs/administration.adoc: http://gerrit.cloudera.org:8080/#/c/8948/8/docs/administration.adoc@263 PS8, Line 263: statement > maybe it's just me, but seems like this isn't super clear since this statem DONE http://gerrit.cloudera.org:8080/#/c/8948/8/docs/administration.adoc@380 PS8, Line 380: update the HMS database manually. : * The following is an example SQL statement: > per above, I think we should be explicit that this statement must be run ag DONE -- To view, visit http://gerrit.cloudera.org:8080/8948 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Iab3999c9e581ed3591b220c08491cdae867c91db Gerrit-Change-Number: 8948 Gerrit-PatchSet: 8 Gerrit-Owner: Alex RodoniGerrit-Reviewer: Alex Rodoni Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Thomas Tauber-Marshall Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 19:05:37 + Gerrit-HasComments: Yes
[kudu-CR](branch-1.5.x) KUDU-2251: rowset size can overflow int in RowSetInfo
Hello 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/8941 to look at the new patch set (#8). Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. KUDU-2251: rowset size can overflow int in RowSetInfo This overflow causes a CHECK failure from rowset compaction planning in tablets with rowsets with more than 2GiB of REDO deltafiles: *** SIGABRT (@0x3ce7614) received by PID 30228 (TID 0x7fbb52a5e700) from PID 30228; stack trace: *** @ 0x7fbb977cb100 (unknown) @ 0x7fbb95a985f7 __GI_raise @ 0x7fbb95a99ce8 __GI_abort @ 0x1af56d9 (unknown) @ 0x8baf3d google::LogMessage::Fail() @ 0x8bce93 google::LogMessage::SendToLog() @ 0x8baa99 google::LogMessage::Flush() @ 0x8bd81f google::LogMessageFatal::~LogMessageFatal() @ 0x9f71d6 kudu::tablet::RowSetInfo::CollectOrdered() @ 0x9d42d9 kudu::tablet::BudgetedCompactionPolicy::SetupKnapsackInput() @ 0x9d5a3a kudu::tablet::BudgetedCompactionPolicy::PickRowSets() @ 0x98e28f kudu::tablet::Tablet::UpdateCompactionStats() @ 0x9aff08 kudu::tablet::CompactRowSetsOp::UpdateStats() @ 0x1ae02b5 kudu::MaintenanceManager::FindBestOp() @ 0x1ae2bce kudu::MaintenanceManager::RunSchedulerThread() @ 0x1b27eda kudu::Thread::SuperviseThread() @ 0x7fbb977c3dc5 start_thread @ 0x7fbb95b5921d __clone @0x0 (unknown) Testing: included is a targeted unit-test which reproduces the overflow quickly and deterministically. I also reproduced the issue using an integration test, however that test exposed other issues which need to be addressed before it can land (KUDU-2253). I'll be working on that in a follow-up commit. Change-Id: I598344e22fc1ecbb482bfe85ea3867ddf63963b4 --- M src/kudu/tablet/compaction_policy-test.cc M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset_info.h 3 files changed, 29 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/41/8941/8 -- To view, visit http://gerrit.cloudera.org:8080/8941 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.5.x Gerrit-MessageType: newpatchset Gerrit-Change-Id: I598344e22fc1ecbb482bfe85ea3867ddf63963b4 Gerrit-Change-Number: 8941 Gerrit-PatchSet: 8 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] [docs] Document how to recover from a majority failed tablet
Hello Mike Percy, Jean-Daniel Cryans, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8402 to look at the new patch set (#6). Change subject: [docs] Document how to recover from a majority failed tablet .. [docs] Document how to recover from a majority failed tablet This adds some docs on how to recover when a tablet can no longer find a majority due to the permanent failure of replicas. I tested this procedure by failing tablets in various ways: - deleting important bits like cmeta or tablet metadata - deleting entire data dirs - tombstoning 2/3 replicas (and disabling tombstoned voting) and I was always able to recover using these instructions. Change-Id: Ic6326f65d029a1cd75e487b16ce5be4baea2f215 --- M docs/administration.adoc 1 file changed, 65 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/02/8402/6 -- To view, visit http://gerrit.cloudera.org:8080/8402 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic6326f65d029a1cd75e487b16ce5be4baea2f215 Gerrit-Change-Number: 8402 Gerrit-PatchSet: 6 Gerrit-Owner: Will BerkeleyGerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley
[kudu-CR] [docs] Document how to recover from a majority failed tablet
Will Berkeley has posted comments on this change. ( http://gerrit.cloudera.org:8080/8402 ) Change subject: [docs] Document how to recover from a majority failed tablet .. Patch Set 5: (4 comments) http://gerrit.cloudera.org:8080/#/c/8402/5/docs/administration.adoc File docs/administration.adoc: http://gerrit.cloudera.org:8080/#/c/8402/5/docs/administration.adoc@809 PS5, Line 809: that's > style: I think it's easier to read "that has" Done http://gerrit.cloudera.org:8080/#/c/8402/5/docs/administration.adoc@812 PS5, Line 812: Permanent data loss is : possible > I think this isn't quite clear that permanent data loss is possible _by fol Done http://gerrit.cloudera.org:8080/#/c/8402/5/docs/administration.adoc@839 PS5, Line 839: To revive the tablet > maybe here say something like "to accept the potential data loss and restor Done http://gerrit.cloudera.org:8080/#/c/8402/5/docs/administration.adoc@845 PS5, Line 845: r tserver-00 > nit: use `...` around hostnames Done -- To view, visit http://gerrit.cloudera.org:8080/8402 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic6326f65d029a1cd75e487b16ce5be4baea2f215 Gerrit-Change-Number: 8402 Gerrit-PatchSet: 5 Gerrit-Owner: Will BerkeleyGerrit-Reviewer: Jean-Daniel Cryans Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy Gerrit-Reviewer: Todd Lipcon Gerrit-Reviewer: Will Berkeley Gerrit-Comment-Date: Thu, 11 Jan 2018 18:53:52 + Gerrit-HasComments: Yes
[kudu-CR] data dirs: fix logging message
Andrew Wong has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8999 ) Change subject: data_dirs: fix logging message .. data_dirs: fix logging message If fs_target_data_dirs_per_tablet is set to be greater than the number of available directories, it will log a message that is dependent on there being a configured metrics entity, which is not always available. This patch avoids the potential nullptr access. This patch also changes the logging to INFO-level instead of WARNING-level, as the message doesn't necessarily indicate a problem. Change-Id: I8135e0ad2411524fcb74b3e349bea7a5828a4237 Reviewed-on: http://gerrit.cloudera.org:8080/8999 Reviewed-by: Adar DemboTested-by: Kudu Jenkins --- M src/kudu/fs/data_dirs.cc 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/8999 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8135e0ad2411524fcb74b3e349bea7a5828a4237 Gerrit-Change-Number: 8999 Gerrit-PatchSet: 3 Gerrit-Owner: Andrew Wong Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Andrew Wong Gerrit-Reviewer: Kudu Jenkins
[kudu-CR] KUDU-2251: rowset size can overflow int in RowSetInfo
Dan Burkert has posted comments on this change. ( http://gerrit.cloudera.org:8080/8951 ) Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. Patch Set 7: I've backed out the integration test, since it exposed other problems which need to be addressed in a follow up commit(s). -- To view, visit http://gerrit.cloudera.org:8080/8951 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Gerrit-Change-Number: 8951 Gerrit-PatchSet: 7 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon Gerrit-Comment-Date: Thu, 11 Jan 2018 18:51:23 + Gerrit-HasComments: No
[kudu-CR] KUDU-2251: rowset size can overflow int in RowSetInfo
Hello Tidy Bot, David Ribeiro Alves, Kudu Jenkins, Adar Dembo, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8951 to look at the new patch set (#7). Change subject: KUDU-2251: rowset size can overflow int in RowSetInfo .. KUDU-2251: rowset size can overflow int in RowSetInfo This overflow causes a CHECK failure from rowset compaction planning in tablets with rowsets with more than 2GiB of REDO deltafiles: *** SIGABRT (@0x3ce7614) received by PID 30228 (TID 0x7fbb52a5e700) from PID 30228; stack trace: *** @ 0x7fbb977cb100 (unknown) @ 0x7fbb95a985f7 __GI_raise @ 0x7fbb95a99ce8 __GI_abort @ 0x1af56d9 (unknown) @ 0x8baf3d google::LogMessage::Fail() @ 0x8bce93 google::LogMessage::SendToLog() @ 0x8baa99 google::LogMessage::Flush() @ 0x8bd81f google::LogMessageFatal::~LogMessageFatal() @ 0x9f71d6 kudu::tablet::RowSetInfo::CollectOrdered() @ 0x9d42d9 kudu::tablet::BudgetedCompactionPolicy::SetupKnapsackInput() @ 0x9d5a3a kudu::tablet::BudgetedCompactionPolicy::PickRowSets() @ 0x98e28f kudu::tablet::Tablet::UpdateCompactionStats() @ 0x9aff08 kudu::tablet::CompactRowSetsOp::UpdateStats() @ 0x1ae02b5 kudu::MaintenanceManager::FindBestOp() @ 0x1ae2bce kudu::MaintenanceManager::RunSchedulerThread() @ 0x1b27eda kudu::Thread::SuperviseThread() @ 0x7fbb977c3dc5 start_thread @ 0x7fbb95b5921d __clone @0x0 (unknown) Testing: included is a targeted unit-test which reproduces the overflow quickly and deterministically. I also reproduced the issue using an integration test, however that test exposed other issues which need to be addressed before it can land (KUDU-2253). I'll be working on that in a follow-up commit. Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb --- M src/kudu/tablet/compaction_policy-test.cc M src/kudu/tablet/mock-rowsets.h M src/kudu/tablet/rowset_info.h 3 files changed, 24 insertions(+), 6 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/51/8951/7 -- To view, visit http://gerrit.cloudera.org:8080/8951 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I74975cdab605b51617d93d1ae98ef72ce87e35cb Gerrit-Change-Number: 8951 Gerrit-PatchSet: 7 Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-2254: Detect and warn about misusage of KuduContext
Dan Burkert has posted comments on this change. ( http://gerrit.cloudera.org:8080/9004 ) Change subject: KUDU-2254: Detect and warn about misusage of KuduContext .. Patch Set 1: (2 comments) http://gerrit.cloudera.org:8080/#/c/9004/1/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala File java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala: http://gerrit.cloudera.org:8080/#/c/9004/1/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala@91 PS1, Line 91: val Log: Logger = LoggerFactory.getLogger(classOf[KuduContext]) The logger inside the object on line 316 should be available here. 'val' fields inside the object (as opposed to the class) are Scala's version of static fields, so that's why we prefer that. http://gerrit.cloudera.org:8080/#/c/9004/1/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduContext.scala@94 PS1, Line 94: val taskContext = TaskContext.get mark this private[kudu] -- To view, visit http://gerrit.cloudera.org:8080/9004 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I65a7cd11a14fa8a668079b0d1fcf6ed3a34fb652 Gerrit-Change-Number: 9004 Gerrit-PatchSet: 1 Gerrit-Owner: Hao HaoGerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Thu, 11 Jan 2018 17:49:21 + Gerrit-HasComments: Yes
[kudu-CR] KUDU-2256: Add GetTransferSize() to RpcContext
Hello Michael Ho, Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8998 to look at the new patch set (#5). Change subject: KUDU-2256: Add GetTransferSize() to RpcContext .. KUDU-2256: Add GetTransferSize() to RpcContext This changes adds GetTransferSize() to RpcContext to retrieve the payload size of the inbound call. This makes it easier to track the memory of incoming RPCs in the handler methods. To test this I added a CHECK to one of the handler methods in CalculatorService. Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 --- M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc_context.cc M src/kudu/rpc/rpc_context.h 3 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/98/8998/5 -- To view, visit http://gerrit.cloudera.org:8080/8998 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 Gerrit-Change-Number: 8998 Gerrit-PatchSet: 5 Gerrit-Owner: Lars VolkerGerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Michael Ho
[kudu-CR] KUDU-2256: Add GetTransferSize() to RpcContext
Hello Michael Ho, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8998 to look at the new patch set (#4). Change subject: KUDU-2256: Add GetTransferSize() to RpcContext .. KUDU-2256: Add GetTransferSize() to RpcContext This changes adds GetTransferSize() to RpcContext to retrieve the payload size of the inbound call. This makes it easier to track the memory of incoming RPCs in the handler methods. To test this I added a CHECK to one of the handler methods in CalculatorService. Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 --- M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc_context.cc M src/kudu/rpc/rpc_context.h 3 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/98/8998/4 -- To view, visit http://gerrit.cloudera.org:8080/8998 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iab2519bad1815aeccaa119f1605638bfd3604382 Gerrit-Change-Number: 8998 Gerrit-PatchSet: 4 Gerrit-Owner: Lars VolkerGerrit-Reviewer: Lars Volker Gerrit-Reviewer: Michael Ho
[kudu-CR] Move configuration keys into its own class and make public
Hello David Ribeiro Alves, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/8920 to look at the new patch set (#2). Change subject: Move configuration keys into its own class and make public .. Move configuration keys into its own class and make public External applications using the kudu-mapreduce package need to set these configuration properties correctly. Usually they are set in the JobConfiguration entity of a mapreduce job. For this, it is highly preferable to have access to the config keys as they were defined within the kudu-mapreduce package instead of redefining them within the application (reduces duplication and potential for errors) Since InputFormat and OutputFormat use some similar keys (and actually used to use slightly different property names for the same thing in the past) this commit moves all configuration keys into a common class and makes them public for access. Change-Id: I64f9ae5c2bc21ddaf757530a33642bd18cd774bf --- A java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduMapReduceConstants.java M java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduTableInputFormat.java M java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduTableMapReduceUtil.java M java/kudu-mapreduce/src/main/java/org/apache/kudu/mapreduce/KuduTableOutputFormat.java M java/kudu-mapreduce/src/test/java/org/apache/kudu/mapreduce/ITKuduTableInputFormat.java M java/kudu-mapreduce/src/test/java/org/apache/kudu/mapreduce/ITKuduTableOutputFormat.java 6 files changed, 106 insertions(+), 85 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/20/8920/2 -- To view, visit http://gerrit.cloudera.org:8080/8920 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I64f9ae5c2bc21ddaf757530a33642bd18cd774bf Gerrit-Change-Number: 8920 Gerrit-PatchSet: 2 Gerrit-Owner: Clemens ValienteGerrit-Reviewer: Clemens Valiente Gerrit-Reviewer: David Ribeiro Alves Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon