[kudu-CR] [docs]: Delete invalid link

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has removed a vote on this change.

Change subject: [docs]: Delete invalid link
..


Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/13881
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: Ic61282e41eb2cd6ee4371d0ca2c7e42b9ccb4ee4
Gerrit-Change-Number: 13881
Gerrit-PatchSet: 1
Gerrit-Owner: XiaokaiWang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: XiaokaiWang 
Gerrit-Reviewer: Yao Xu 


[kudu-CR] [docs]: Delete invalid link

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13881 )

Change subject: [docs]: Delete invalid link
..


Patch Set 1: Verified+1 Code-Review+2

> Hmm, this will return back to 'Dictionary encoding' title, but actually that 
> is where we are reading. Is this necessary?

Agreed; a link referring back to the same section isn't useful.

Overriding Jenkins; the ASAN failure is unrelated to this patch.


--
To view, visit http://gerrit.cloudera.org:8080/13881
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic61282e41eb2cd6ee4371d0ca2c7e42b9ccb4ee4
Gerrit-Change-Number: 13881
Gerrit-PatchSet: 1
Gerrit-Owner: XiaokaiWang 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: XiaokaiWang 
Gerrit-Reviewer: Yao Xu 
Gerrit-Comment-Date: Tue, 23 Jul 2019 03:24:50 +
Gerrit-HasComments: No


[kudu-CR] WIP KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13891 )

Change subject: WIP KUDU-2780: create thread for auto-rebalancing (1/n)
..


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc
File src/kudu/master/autorebalancer-test.cc:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc@69
PS1, Line 69: TEST_F(AutoRebalancerTest, ViewReports) {
> This test keeps a cluster around for at least a couple polling intervals, a
For initial POC testing that approach might be OK.  However, in the long run 
the tests should provide coverage to automatically verify the required 
functionality: nobody is going to peer at the output of those tests unless 
something is reported to be broken.

Probably, we want to represent auto-relabancer stats as a set of metrics which 
are programmatically retrievable from master.  As for the latter, in Kudu there 
is a standardized way to do so: take a look at so-called metric counters and 
gauges: grep for METRIC_DEFINE_counter and METRIC_DEFINE_gauge_int64 in the 
code and see how it's used there and in corresponding tests (grep for 
METRIC_DECLARE_counter macros and FindOrCreateCounter).  From what I remember, 
I recently worked with those somewhere in src/kudu/util/ttl_cache.h and 
src/kudu/util/ttl_cache-test.cc

In addition to be able to retrieve the metrics from within a process, those are 
exposed via debug web server as well, so it's possible to retrieve them in JSON 
format via HTTP.



--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 1
Gerrit-Owner: Hannah Nguyen 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Hannah Nguyen 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 23 Jul 2019 02:55:27 +
Gerrit-HasComments: Yes


[kudu-CR] WIP KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Hannah Nguyen (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/13891

to look at the new patch set (#4).

Change subject: WIP KUDU-2780: create thread for auto-rebalancing (1/n)
..

WIP KUDU-2780: create thread for auto-rebalancing (1/n)

AutoRebalancerTask is a thread in the master with a configurable
polling interval. Every interval, the thread logs the current
skew of the cluster if auto-rebalancing is enabled.

Code that is modified/copied directly from the CLI rebalancing
tool in kudu/tools is marked.

The task currently calls the 'ksck' tool to determine skew, but
this will change in later patches when rebalancing is implemented
and the task retrieves information directly from the master.

Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
---
M src/kudu/benchmarks/tpch/tpch1.cc
M src/kudu/master/CMakeLists.txt
A src/kudu/master/autorebalancer-test.cc
A src/kudu/master/autorebalancer.cc
A src/kudu/master/autorebalancer.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
7 files changed, 1,753 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/13891/4
--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 4
Gerrit-Owner: Hannah Nguyen 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Hannah Nguyen 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] WIP KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Hannah Nguyen (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/13891

to look at the new patch set (#3).

Change subject: WIP KUDU-2780: create thread for auto-rebalancing (1/n)
..

WIP KUDU-2780: create thread for auto-rebalancing (1/n)

AutoRebalancerTask is a thread in the master with a configurable
polling interval. Every interval, the thread logs the current
skew of the cluster if auto-rebalancing is enabled.

Code that is modified/copied directly from the CLI rebalancing
tool in kudu/tools is marked.

The task currently calls the 'ksck' tool to determine skew, but
this will change in later patches when rebalancing is implemented
and the task retrieves information directly from the master.

Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
---
M src/kudu/benchmarks/tpch/tpch1.cc
M src/kudu/master/CMakeLists.txt
A src/kudu/master/autorebalancer-test.cc
A src/kudu/master/autorebalancer.cc
A src/kudu/master/autorebalancer.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
7 files changed, 1,753 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/13891/3
--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 3
Gerrit-Owner: Hannah Nguyen 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Hannah Nguyen 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] WIP KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Hannah Nguyen (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/13891

to look at the new patch set (#2).

Change subject: WIP KUDU-2780: create thread for auto-rebalancing (1/n)
..

WIP KUDU-2780: create thread for auto-rebalancing (1/n)

AutoRebalancerTask is a thread in the master with a configurable
polling interval. Every interval, the thread logs the current
skew of the cluster if auto-rebalancing is enabled.

Code that is modified/copied directly from the CLI rebalancing
tool in kudu/tools is marked.

The task currently calls the 'ksck' tool to determine skew, but
this will change in later patches when rebalancing is implemented
and the task retrieves information directly from the master.

Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
---
M src/kudu/benchmarks/tpch/tpch1.cc
M src/kudu/master/CMakeLists.txt
A src/kudu/master/autorebalancer-test.cc
A src/kudu/master/autorebalancer.cc
A src/kudu/master/autorebalancer.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
7 files changed, 1,753 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/13891/2
--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 2
Gerrit-Owner: Hannah Nguyen 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Hannah Nguyen 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Hannah Nguyen (Code Review)
Hannah Nguyen has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13891 )

Change subject: KUDU-2780: create thread for auto-rebalancing (1/n)
..


Patch Set 1:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/13891/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13891/1//COMMIT_MSG@13
PS1, Line 13: Code that is modified/copied directly from the CLI rebalancing
: tool in kudu/tools is marked.
> Did you consider separating the rebalancing piece that doesn't depend on th
Hmmm, the point of this patch was mostly to lay the infrastructure (create the 
Task in the master) by implementing some code that would log the current skew 
of the cluster.

I don't think this patch will be merge-able, but the next one (which will 
migrate any common code into the master directory, and retrieve information 
from the master and not call 'ksck' at all) should be.

Will clarify this in the message.


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/CMakeLists.txt
File src/kudu/master/CMakeLists.txt:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/CMakeLists.txt@61
PS1, Line 61:   ksck
> This introduce a cycling dependency which is a no-no:
Will refactor the auto-rebalancer to not call 'ksck' at all.
Then moving common code into the master should also be ok, since tools already 
depends on the master directory.


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc
File src/kudu/master/autorebalancer-test.cc:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc@55
PS1, Line 55: TEST_F(AutoRebalancerTest, NoReports) {
> We have many tests which start master and does some work before shutting it
Agreed, this test isn't necessary.


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc@69
PS1, Line 69: TEST_F(AutoRebalancerTest, ViewReports) {
> What does this test tries to verify?
This test keeps a cluster around for at least a couple polling intervals, and 
since the auto-rebalancer is currently just logging the skew of the cluster, 
running the test should print some cluster reports of skew.

I just looked at the output on my terminal manually. Is there a better way to 
write the test to check that it appears?


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer.h
File src/kudu/master/autorebalancer.h:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer.h@74
PS1, Line 74:
> nit: we use spaces, not tabs in Kudu C++ for indentation.
Done



--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 1
Gerrit-Owner: Hannah Nguyen 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Hannah Nguyen 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 23 Jul 2019 01:16:07 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13891 )

Change subject: KUDU-2780: create thread for auto-rebalancing (1/n)
..


Patch Set 1:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/13891/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13891/1//COMMIT_MSG@13
PS1, Line 13: Code that is modified/copied directly from the CLI rebalancing
: tool in kudu/tools is marked.
Did you consider separating the rebalancing piece that doesn't depend on the 
ksck structures per se into a library that might be used from both master and 
the ksck CLI tool?  Another option would be moving the whole rebalancing code 
from the tools directory under master directory, and introducing an RPC 
end-point in master that the CLI tool would simply call.

I'm not sure it's a good idea to keep duplicate code around.


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/CMakeLists.txt
File src/kudu/master/CMakeLists.txt:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/CMakeLists.txt@61
PS1, Line 61:   ksck
This introduce a cycling dependency which is a no-no:

12:59:16 CMake Error: The inter-target dependency graph contains the following 
strongly connected component (cycle):
12:59:16   "master" of type SHARED_LIBRARY
12:59:16 depends on "ksck" (weak)
12:59:16   "ksck" of type SHARED_LIBRARY
12:59:16 depends on "master" (weak)

BTW, why does master need the ksck library as the link dependecney if the 
rebalancer is being run as a simple out-of-the box binary?


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc
File src/kudu/master/autorebalancer-test.cc:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc@55
PS1, Line 55: TEST_F(AutoRebalancerTest, NoReports) {
We have many tests which start master and does some work before shutting it 
down.  Given this scenario doesn't do much aside from that, I think we 
automatically get coverage for this simple functionality already, no?


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer-test.cc@69
PS1, Line 69: TEST_F(AutoRebalancerTest, ViewReports) {
What does this test tries to verify?


http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer.h
File src/kudu/master/autorebalancer.h:

http://gerrit.cloudera.org:8080/#/c/13891/1/src/kudu/master/autorebalancer.h@74
PS1, Line 74:
nit: we use spaces, not tabs in Kudu C++ for indentation.



--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 1
Gerrit-Owner: Hannah Nguyen 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 23 Jul 2019 00:56:44 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-2797 p2: the master aggregates tablet statistics

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13426 )

Change subject: KUDU-2797 p2: the master aggregates tablet statistics
..


Patch Set 24:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/integration-tests/ts_tablet_manager-itest.cc
File src/kudu/integration-tests/ts_tablet_manager-itest.cc:

http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/integration-tests/ts_tablet_manager-itest.cc@589
PS24, Line 589:   const auto GetLeaderMaster = [&] (Master** master) {
I wonder if this would be more useful as a lambda that took an std::function as 
an argument and:
1. Acquired/verified the ScopedLeaderSharedLock.
2. Ran the std::function
3. Released the ScopedLeaderSharedLock.


http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/integration-tests/ts_tablet_manager-itest.cc@631
PS24, Line 631: ASSERT_EQ(kNumMasters, cluster_->num_masters());
  : ASSERT_EQ(kNumTservers, cluster_->num_tablet_servers());
Not necessary.


http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/integration-tests/ts_tablet_manager-itest.cc@678
PS24, Line 678:   ASSERT_OK(con->EmulateElection());
You sure this is safe? The function comment says:

  // This is NOT safe to use in a distributed configuration with failure 
detection
  // enabled, as it could result in a split-brain scenario.

How about using LeaderStepDown instead?


http://gerrit.cloudera.org:8080/#/c/13426/20/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

http://gerrit.cloudera.org:8080/#/c/13426/20/src/kudu/master/catalog_manager.cc@370
PS20, Line 370:   
table->RegisterMetrics(catalog_manager_->master_->metric_registry(), 
metadata.name());
> I think the table name in the metadata should be a normalized string alread
Hmm, why do we normalize the table name on L354 then?


http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/master/catalog_manager.cc@5515
PS24, Line 5515: std::
Don't need.


http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/tablet/tablet_replica.cc
File src/kudu/tablet/tablet_replica.cc:

http://gerrit.cloudera.org:8080/#/c/13426/24/src/kudu/tablet/tablet_replica.cc@824
PS24, Line 824:   if (RUNNING == state()) {
To avoid deep nesting, invert this:

  if (RUNNING != state()) {
return;
  }
  ...



--
To view, visit http://gerrit.cloudera.org:8080/13426
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I74406ab7cca7c22fda455c328b8ee9989a6b2d99
Gerrit-Change-Number: 13426
Gerrit-PatchSet: 24
Gerrit-Owner: helifu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mike Percy 
Gerrit-Reviewer: helifu 
Gerrit-Comment-Date: Mon, 22 Jul 2019 22:51:46 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-2625: Support per-row error check in prepare stage

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13864 )

Change subject: KUDU-2625: Support per-row error check in prepare stage
..


Patch Set 3:

(8 comments)

http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/client/client-test.cc
File src/kudu/client/client-test.cc:

http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/client/client-test.cc@2732
PS3, Line 2732:   ASSERT_EQ(R"((int32 key=1, int32 int_val=1, string 
string_val="One", int32 non_null_with_default=12345))", rows[0]);
  :   ASSERT_EQ(R"((int32 key=2, int32 int_val=22, string 
string_val="Two", int32 non_null_with_default=12345))", rows[1]);
These lines look too long, could you wrap?

Below too.


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/client/client-test.cc@2789
PS3, Line 2789:   CHECK(!overflow);
  :   CHECK_EQ(2, errors.size());
Use ASSERTs here.


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/client/client-test.cc@2798
PS3, Line 2798:   ScanTableToStrings(client_table_.get(), );
Need to wrap these calls in NO_FATALS.


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/common/row_operations.cc
File src/kudu/common/row_operations.cc:

http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/common/row_operations.cc@449
PS3, Line 449:   continue;
Looking over DecodeUpdateOrDelete, it looks like the "nothing to consume, move 
on to the next column" case is less common than the "we need to consume the 
value in order to properly validate subsequent rows" case. As such, could you 
add a comment here explaining why we're avoiding ReadColumn?

Alternatively, you could augment "First process the key columns" to explain the 
overall flow and help readers understand why, in the event of a key column 
validation failure, we can't just short circuit out.

We also need equivalent breadcrumbs in the comments below, dealing with non-key 
columns.

Finally, could you add some multi-row tests to row_operations-test, where a 
validation error in the first row doesn't mess up the subsequent rows? Or do we 
have such coverage already?


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/common/row_operations.cc@527
PS3, Line 527: ReadColumn(col, scratch);
Wrap in RETURN_NOT_OK? Or should this be wrapped in ignore_result?


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/common/row_operations.cc@616
PS3, Line 616:   if (!ops->empty() && all_error) {
 : return Status::InvalidArgument("all row operations decoded 
error");
 :   }
Why this short-circuit? Shouldn't we surface a batch of 10/10 decoding errors 
using per-row errors?


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/tablet/transactions/write_transaction.cc
File src/kudu/tablet/transactions/write_transaction.cc:

http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/tablet/transactions/write_transaction.cc@169
PS3, Line 169: UpdatePerRowErrors();
Is this here just to accommodate the new "if all ops failed to decode, fail the 
entire write" codepath?


http://gerrit.cloudera.org:8080/#/c/13864/3/src/kudu/tablet/transactions/write_transaction.cc@220
PS3, Line 220: i++;
Nit: not your fault (since you're just moving code), but this would probably be 
clearer if you used a for loop iterating over i and set up a local const RowOp* 
in the body of the loop.



--
To view, visit http://gerrit.cloudera.org:8080/13864
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I497fc3d5d1c9cbb0c183997c9adb8f5efeb9c9d0
Gerrit-Change-Number: 13864
Gerrit-PatchSet: 3
Gerrit-Owner: Yingchun Lai <405403...@qq.com>
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Yingchun Lai <405403...@qq.com>
Gerrit-Comment-Date: Mon, 22 Jul 2019 21:25:38 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-2780: create thread for auto-rebalancing (1/n)

2019-07-22 Thread Hannah Nguyen (Code Review)
Hannah Nguyen has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/13891


Change subject: KUDU-2780: create thread for auto-rebalancing (1/n)
..

KUDU-2780: create thread for auto-rebalancing (1/n)

AutoRebalancerTask is a thread in the master with a configurable
polling interval. Every interval, the thread logs the current
skew of the cluster if auto-rebalancing is enabled.

Code that is modified/copied directly from the CLI rebalancing
tool in kudu/tools is marked.

The task currently calls the 'ksck' tool to determine skew, but
this may change in later patches when rebalancing is implemented
and the task retrieves information directly from the master.

Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
---
M src/kudu/benchmarks/tpch/tpch1.cc
M src/kudu/master/CMakeLists.txt
A src/kudu/master/autorebalancer-test.cc
A src/kudu/master/autorebalancer.cc
A src/kudu/master/autorebalancer.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
7 files changed, 1,769 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/13891/1
--
To view, visit http://gerrit.cloudera.org:8080/13891
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibc829d14dc8636287bf3a4faa4ba76e86ab6885c
Gerrit-Change-Number: 13891
Gerrit-PatchSet: 1
Gerrit-Owner: Hannah Nguyen 


[kudu-CR] KUDU-2823 [java client] Support setting dimension for the newly created tablet

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/13875 )

Change subject: KUDU-2823 [java client] Support setting dimension for the newly 
created tablet
..

KUDU-2823 [java client] Support setting dimension for the newly created tablet

Change-Id: I5fc7797011df578000544147938bd15a6027f4c8
Reviewed-on: http://gerrit.cloudera.org:8080/13875
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo 
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/LocatedTablet.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master.proto
7 files changed, 111 insertions(+), 1 deletion(-)

Approvals:
  Kudu Jenkins: Verified
  Adar Dembo: Looks good to me, approved

--
To view, visit http://gerrit.cloudera.org:8080/13875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I5fc7797011df578000544147938bd15a6027f4c8
Gerrit-Change-Number: 13875
Gerrit-PatchSet: 6
Gerrit-Owner: Yao Xu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yao Xu 


[kudu-CR] KUDU-2823 [java client] Support setting dimension for the newly created tablet

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13875 )

Change subject: KUDU-2823 [java client] Support setting dimension for the newly 
created tablet
..


Patch Set 5: Code-Review+2


--
To view, visit http://gerrit.cloudera.org:8080/13875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5fc7797011df578000544147938bd15a6027f4c8
Gerrit-Change-Number: 13875
Gerrit-PatchSet: 5
Gerrit-Owner: Yao Xu 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yao Xu 
Gerrit-Comment-Date: Mon, 22 Jul 2019 19:10:44 +
Gerrit-HasComments: No


[kudu-CR] KUDU-1938 Add CHAR/VARCHAR to C++ client pt 2

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13869 )

Change subject: KUDU-1938 Add CHAR/VARCHAR to C++ client pt 2
..


Patch Set 11:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/13869/11/src/kudu/client/predicate-test.cc
File src/kudu/client/predicate-test.cc:

http://gerrit.cloudera.org:8080/#/c/13869/11/src/kudu/client/predicate-test.cc@1145
PS11, Line 1145: TestStringPredicates
Nit: maybe rename this to something more generic now that it's not just string 
predicates? Like, these are all predicates whose values are stored in indirect 
data, right?


http://gerrit.cloudera.org:8080/#/c/13869/11/src/kudu/client/predicate-test.cc@1165
PS11, Line 1165: default:
Nit: I would actually reserve the default case for a LOG(FATAL) or some such, 
since we wouldn't want anyone to extend the list in ::testing::Values() without 
also adding a new case here.


http://gerrit.cloudera.org:8080/#/c/13869/11/src/kudu/integration-tests/char-itest.cc
File src/kudu/integration-tests/char-itest.cc:

PS11:
This is fine, though extending client-test would have been fine too (fewer LOC 
I suspect).


http://gerrit.cloudera.org:8080/#/c/13869/11/src/kudu/integration-tests/char-itest.cc@68
PS11, Line 68:   // Insert Row
May want to explain what's special about the row we're inserting (i.e. what 
we're trying to test).


http://gerrit.cloudera.org:8080/#/c/13869/11/src/kudu/integration-tests/char-itest.cc@85
PS11, Line 85: CHECK_OK
ASSERT_OK



--
To view, visit http://gerrit.cloudera.org:8080/13869
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ifaf609565b0a0a87d6e645cd3ac14c0965af5ba8
Gerrit-Change-Number: 13869
Gerrit-PatchSet: 11
Gerrit-Owner: Attila Bukor 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 22 Jul 2019 19:09:49 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-1938 Add support for CHAR/VARCHAR pt 1

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13760 )

Change subject: KUDU-1938 Add support for CHAR/VARCHAR pt 1
..


Patch Set 23:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/13760/23/src/kudu/common/partial_row.h
File src/kudu/common/partial_row.h:

http://gerrit.cloudera.org:8080/#/c/13760/23/src/kudu/common/partial_row.h@153
PS23, Line 153:   /// @note The copying behavior is new for these methods 
starting Kudu 0.10.
  :   ///   Prior to Kudu 0.10, these methods behaved like
  :   ///   KuduPartialRow::SetStringNoCopy() and 
KuduPartialRow::SetBinaryNoCopy()
  :   ///   correspondingly.
This @note doesn't apply to the new methods you added (below too). Perhaps we 
should split out Char and Varchar from the setters here into a separate section 
to avoid the confusion?

On a related note, do you think we should add NoCopy variants of the new 
functions?



--
To view, visit http://gerrit.cloudera.org:8080/13760
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I998982dba93831db91c43a97ce30d3e68c2a4a54
Gerrit-Change-Number: 13760
Gerrit-PatchSet: 23
Gerrit-Owner: Attila Bukor 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 22 Jul 2019 19:09:37 +
Gerrit-HasComments: Yes


[kudu-CR] KUDU-1938 Add support for CHAR/VARCHAR pt 1

2019-07-22 Thread Adar Dembo (Code Review)
Adar Dembo has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13760 )

Change subject: KUDU-1938 Add support for CHAR/VARCHAR pt 1
..


Patch Set 23:

(1 comment)

> Patch Set 22:
>
> Due to the variable length nature of UTF8 and the columnar format I believe 
> it makes most sense to implement it the same way as Impala did, only wanted 
> to bring your attention to this discrepancy.

This is all super useful design trade off information. Could you try to 
summarize it into the commit message?

http://gerrit.cloudera.org:8080/#/c/13760/23//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/13760/23//COMMIT_MSG@23
PS23, Line 23: 65,353
Did you mean 65535 here?



--
To view, visit http://gerrit.cloudera.org:8080/13760
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I998982dba93831db91c43a97ce30d3e68c2a4a54
Gerrit-Change-Number: 13760
Gerrit-PatchSet: 23
Gerrit-Owner: Attila Bukor 
Gerrit-Reviewer: Adar Dembo 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon 
Gerrit-Reviewer: Will Berkeley 
Gerrit-Comment-Date: Mon, 22 Jul 2019 19:01:55 +
Gerrit-HasComments: Yes


[kudu-CR] WIP: [KUDU-442] Add Kudu support for Hive

2019-07-22 Thread Grant Henke (Code Review)
Grant Henke has abandoned this change. ( http://gerrit.cloudera.org:8080/13483 )

Change subject: WIP: [KUDU-442] Add Kudu support for Hive
..


Abandoned

This is being contributed to Apache Hive here: 
https://issues.apache.org/jira/browse/HIVE-12971
--
To view, visit http://gerrit.cloudera.org:8080/13483
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: abandon
Gerrit-Change-Id: Ifdcc72c4099dc40a7a2efa59c0c62f63902733d4
Gerrit-Change-Number: 13483
Gerrit-PatchSet: 2
Gerrit-Owner: Grant Henke 
Gerrit-Reviewer: Greg Solovyev 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] KUDU-2881 Support create/drop range partition by command line

2019-07-22 Thread honeyhexin (Code Review)
honeyhexin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13833 )

Change subject: KUDU-2881 Support create/drop range partition by command line
..


Patch Set 7:

If the range partition now is unbounded, we can't add range partition for it 
directly, since it will explict with the existing range partition: UNBOUNDED. 
However, we can drop the unbounded partition at first and then add for it by 
the command line.


--
To view, visit http://gerrit.cloudera.org:8080/13833
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I647d9c3cf01807bd8ae9f8cf4091568ea6f1161c
Gerrit-Change-Number: 13833
Gerrit-PatchSet: 7
Gerrit-Owner: honeyhexin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yao Xu 
Gerrit-Reviewer: honeyhexin 
Gerrit-Comment-Date: Mon, 22 Jul 2019 07:04:24 +
Gerrit-HasComments: No


[kudu-CR] KUDU-2881 Support create/drop range partition by command line

2019-07-22 Thread honeyhexin (Code Review)
Hello Tidy Bot, Kudu Jenkins, Andrew Wong, Yao Xu,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/13833

to look at the new patch set (#7).

Change subject: KUDU-2881 Support create/drop range partition by command line
..

KUDU-2881 Support create/drop range partition by command line

Sometimes we need to drop the range partition and then recreate it in
order to rewrite in case that the partition was written wrongly. This
patch supports to add/drop range partition by command line. The command
can be used as:
1. kudu table add_range_partition  
  [-lower_bound_type] [-upper_bound_type]
2. kudu table drop_range_partition  
  [-lower_bound_type] [-upper_bound_type]

The parameters of lower_bound and upper_bound can be empty, which means
we will use the default value. If both these two parameters are empty,
it means the range partition is unbounded.

The parameters of lower_bound_type and upper_bound_type is optional. If
these two parameters are not specified, the default value are
INCLUSIVE_BOUND and EXCLUSIVE_BOUND respectively. These two parameters
are both case-insensitive.

Change-Id: I647d9c3cf01807bd8ae9f8cf4091568ea6f1161c
---
M src/kudu/common/partition.cc
M src/kudu/common/partition.h
M src/kudu/tools/kudu-admin-test.cc
M src/kudu/tools/tool_action_table.cc
4 files changed, 593 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/33/13833/7
--
To view, visit http://gerrit.cloudera.org:8080/13833
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I647d9c3cf01807bd8ae9f8cf4091568ea6f1161c
Gerrit-Change-Number: 13833
Gerrit-PatchSet: 7
Gerrit-Owner: honeyhexin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yao Xu 
Gerrit-Reviewer: honeyhexin