[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-31 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 12: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 12
Gerrit-Owner: Todd Lipcon 
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-Comment-Date: Fri, 31 Jul 2020 18:15:00 +
Gerrit-HasComments: No


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-31 Thread Alexey Serbin (Code Review)
Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Benchmarked with:

$ KUDU_ALLOW_SLOW_TESTS=1  ./build/latest/bin/table_locations-itest \
  --gtest_filter=TableLocationsTest.GetTableLocationsBenchmark \
  --rpc_num_service_threads=32 \
  --benchmark_num_threads=48

Before: 74,787 req/sec
After:  79,451 req/sec (1.06x)

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Reviewed-on: http://gerrit.cloudera.org:8080/16137
Tested-by: Alexey Serbin 
Reviewed-by: Alexey Serbin 
---
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/auto_rebalancer.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
7 files changed, 98 insertions(+), 40 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved; Verified

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 13
Gerrit-Owner: Todd Lipcon 
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)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-31 Thread Alexey Serbin (Code Review)
Alexey Serbin has removed a vote on this change.

Change subject: Optimize GetTableLocations for better arena use
..


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 12
Gerrit-Owner: Todd Lipcon 
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)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-31 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 12: Verified+1

unrelated test failure (TSAN configuration) in 
TabletServerDiskError/TabletServerDiskErrorITest.TestFailDuringScanWorkload/0


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 12
Gerrit-Owner: Todd Lipcon 
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-Comment-Date: Fri, 31 Jul 2020 16:51:28 +
Gerrit-HasComments: No


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-30 Thread Todd Lipcon (Code Review)
Hello Tidy Bot, Alexey Serbin, Attila Bukor, Kudu Jenkins, Andrew Wong, Grant 
Henke,

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

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

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

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Benchmarked with:

$ KUDU_ALLOW_SLOW_TESTS=1  ./build/latest/bin/table_locations-itest \
  --gtest_filter=TableLocationsTest.GetTableLocationsBenchmark \
  --rpc_num_service_threads=32 \
  --benchmark_num_threads=48

Before: 74,787 req/sec
After:  79,451 req/sec (1.06x)

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/auto_rebalancer.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
7 files changed, 98 insertions(+), 40 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/37/16137/12
--
To view, visit http://gerrit.cloudera.org:8080/16137
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 12
Gerrit-Owner: Todd Lipcon 
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)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-30 Thread Todd Lipcon (Code Review)
Hello Tidy Bot, Alexey Serbin, Attila Bukor, Kudu Jenkins, Andrew Wong, Grant 
Henke,

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

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

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

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Benchmarked with:

$ KUDU_ALLOW_SLOW_TESTS=1  ./build/latest/bin/table_locations-itest \
  --gtest_filter=TableLocationsTest.GetTableLocationsBenchmark \
  --rpc_num_service_threads=32 \
  --benchmark_num_threads=48

Before: 74,787 req/sec
After:  79,451 req/sec (1.06x)

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/master/auto_rebalancer.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
6 files changed, 93 insertions(+), 37 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/37/16137/11
--
To view, visit http://gerrit.cloudera.org:8080/16137
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 11
Gerrit-Owner: Todd Lipcon 
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)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-29 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 10:

ASAN-related failure seems relevant: it seems TSInfoDict-related memory is 
leaking with new  changes.  TSInfosDict is also used in 
AutoRebalancerTask::GetTabletLeader() (see auto_rebalancer.cc), so that dance 
with STLDeleteElements is necessary there as well.

>From the other side, maybe it's worth introducing an additional constructor 
>for TSInfosDict or an additional  class for TSInfosDict to be used outside of 
>the CatalogManager.

=
==29702==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 658080 byte(s) in 9140 object(s) allocated from:
#0 0x534188 in operator new(unsigned long) 
/home/jenkins-slave/workspace/kudu-master/0/thirdparty/src/llvm-9.0.0.src/projects/compiler-rt/lib/asan/asan_new_delete.cc:99
#1 0x7f35d3eb564f in kudu::master::TSInfoPB* 
google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*)
 
/home/jenkins-slave/workspace/kudu-master/0/thirdparty/installed/uninstrumented/include/google/protobuf/arena.h:501:14
#2 0x7f35d3eb564f in kudu::master::TSInfoPB* 
google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*)
 
/home/jenkins-slave/workspace/kudu-master/0/build/asan/src/kudu/master/master.pb.cc:24126:10
#3 0x7f35db7187f9 in kudu::master::TSInfoPB* 
google::protobuf::Arena::CreateMessage(google::protobuf::Arena*)
 
/home/jenkins-slave/workspace/kudu-master/0/thirdparty/installed/uninstrumented/include/google/protobuf/arena.h:304:12
#4 0x7f35db7187f9 in 
kudu::master::CatalogManager::BuildLocationsForTablet(scoped_refptr
 const&, kudu::master::ReplicaTypeFilter, kudu::master::TabletLocationsPB*, 
kudu::master::CatalogManager::TSInfosDict*)::$_30::operator()() const 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/catalog_manager.cc:5040:29
#5 0x7f35db72e47c in 
kudu::master::CatalogManager::BuildLocationsForTablet(scoped_refptr
 const&, kudu::master::ReplicaTypeFilter, kudu::master::TabletLocationsPB*, 
kudu::master::CatalogManager::TSInfosDict*)::$_29::operator()() const 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/catalog_manager.cc:5066:30
#6 0x7f35db72dfc2 in std::pair, std::equal_to, 
google::libc_allocator_with_realloc > 
>::mapped_type* const, bool> 
ComputePairIfAbsentReturnAbsense, std::equal_to, 
google::libc_allocator_with_realloc > >, 
kudu::master::CatalogManager::BuildLocationsForTablet(scoped_refptr
 const&, kudu::master::ReplicaTypeFilter, kudu::master::TabletLocationsPB*, 
kudu::master::CatalogManager::TSInfosDict*)::$_29>(google::dense_hash_map, std::equal_to, 
google::libc_allocator_with_realloc > >*, 
google::dense_hash_map, 
std::equal_to, 
google::libc_allocator_with_realloc > 
>::key_type const&, 
kudu::master::CatalogManager::BuildLocationsForTablet(scoped_refptr
 const&, kudu::master::ReplicaTypeFilter, kudu::master::TabletLocationsPB*, 
kudu::master::CatalogManager::TSInfosDict*)::$_29) 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/gutil/map-util.h:903:14
#7 0x7f35db7178d9 in 
kudu::master::CatalogManager::BuildLocationsForTablet(scoped_refptr
 const&, kudu::master::ReplicaTypeFilter, kudu::master::TabletLocationsPB*, 
kudu::master::CatalogManager::TSInfosDict*) 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/catalog_manager.cc:5061:25
#8 0x7f35db71939f in 
kudu::master::CatalogManager::GetTabletLocations(std::string const&, 
kudu::master::ReplicaTypeFilter, kudu::master::TabletLocationsPB*, 
kudu::master::CatalogManager::TSInfosDict*, boost::optional) 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/catalog_manager.cc:5121:10
#9 0x7f35db685fa3 in 
kudu::master::AutoRebalancerTask::GetTabletLeader(std::string const&, 
std::string*, kudu::HostPort*) const 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/auto_rebalancer.cc:375:5
#10 0x7f35db686a86 in 
kudu::master::AutoRebalancerTask::CheckMoveCompleted(kudu::rebalance::Rebalancer::ReplicaMove
 const&, bool*) 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/auto_rebalancer.cc:679:3
#11 0x7f35db684bce in 
kudu::master::AutoRebalancerTask::CheckReplicaMovesCompleted(std::vector >*) 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/auto_rebalancer.cc:642:16
#12 0x7f35db67de81 in kudu::master::AutoRebalancerTask::RunLoop() 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/master/auto_rebalancer.cc:247:7
#13 0x7f35c5dacbba in kudu::Thread::SuperviseThread(void*) 
/home/jenkins-slave/workspace/kudu-master/0/src/kudu/util/thread.cc:674:3
#14 0x7f35ce792183 in start_thread 
/build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312


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

[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-28 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Attila Bukor, Kudu Jenkins, Andrew Wong, Grant Henke, 

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

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

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

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Benchmarked with:

$ KUDU_ALLOW_SLOW_TESTS=1  ./build/latest/bin/table_locations-itest \
  --gtest_filter=TableLocationsTest.GetTableLocationsBenchmark \
  --rpc_num_service_threads=32 \
  --benchmark_num_threads=48

Before: 74,787 req/sec
After:  79,451 req/sec (1.06x)

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/integration-tests/registration-test.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
6 files changed, 46 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/37/16137/9
--
To view, visit http://gerrit.cloudera.org:8080/16137
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 9
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-13 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc
File src/kudu/master/ts_descriptor.cc:

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc@220
PS7, Line 220: CHECK
> It's not about SIGABRT vs SIGSEGV, IIRC it's easier to debug CHECK failures
Ah, indeed: SIGABRT gives nice stack traces in the logs, agree.  You are right.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Mon, 13 Jul 2020 17:01:46 +
Gerrit-HasComments: Yes


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-10 Thread Attila Bukor (Code Review)
Attila Bukor has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 8:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc
File src/kudu/master/ts_descriptor.cc:

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc@220
PS7, Line 220: CHECK
> What's the benefit crashing with SIGABRT vs SIGSEGV?  A better reputation o
It's not about SIGABRT vs SIGSEGV, IIRC it's easier to debug CHECK failures as 
that will leave a log message while SIGSEGV will only leave a stack trace and a 
minidump and you need gdb and debug symbols to figure out why it crashed.

I do agree that if this is a hot path and we have enough tests then it makes 
sense to only DCHECK though as in that case the benefits would likely not 
outweigh the costs.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 8
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 Jul 2020 22:03:55 +
Gerrit-HasComments: Yes


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has uploaded a new patch set (#8) to the change originally 
created by Todd Lipcon. ( http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/integration-tests/registration-test.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
6 files changed, 46 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/37/16137/8
-- 
To view, visit http://gerrit.cloudera.org:8080/16137
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 8
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-10 Thread Alexey Serbin (Code Review)
Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc
File src/kudu/master/ts_descriptor.cc:

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc@220
PS7, Line 220: CHECK
> isn't it better to crash with CHECK failure than with a SIGSEGV though?
What's the benefit crashing with SIGABRT vs SIGSEGV?  A better reputation or 
something? :)

As for the downsides, this is an extra instruction in a relatively hot path.  
It seems this is a protection against a programming error, and DCHECK() is good 
enough way to catch those.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 Jul 2020 19:41:36 +
Gerrit-HasComments: Yes


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-10 Thread Attila Bukor (Code Review)
Attila Bukor has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc
File src/kudu/master/ts_descriptor.cc:

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc@220
PS7, Line 220: CHECK
> nit: I guess if registration is an empty std::unique_ptr wrapper, the proce
isn't it better to crash with CHECK failure than with a SIGSEGV though?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 10 Jul 2020 13:41:59 +
Gerrit-HasComments: Yes


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-09 Thread Andrew Wong (Code Review)
Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7: Code-Review+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16137/7//COMMIT_MSG
Commit Message:

PS7:
I think you mentioned running Alexey's table_locations-itest benchmark; can you 
share some of the numbers here, if you have them?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 09 Jul 2020 22:45:41 +
Gerrit-HasComments: Yes


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-09 Thread Grant Henke (Code Review)
Grant Henke has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16137 )

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7:

Would it make sense to tag this commit with KUDU-636?


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Thu, 09 Jul 2020 12:59:26 +
Gerrit-HasComments: No


[kudu-CR] Optimize GetTableLocations for better arena use

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

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7: -Code-Review

Whoops, forgot to mention one issue with TSInfosDict.

TSInfosDict is also used in  AutoRebalancerTask::GetTabletLeader() (see 
auto_rebalancer.cc), so that dance with STLDeleteElements is necessary there as 
well.  From the other side, maybe it's worth introducing an additional 
constructor for TSInfosDict or an additional  class for TSInfosDict to be used 
outside of the CatalogManager.  That class would store the heap-allocated 
elements of TSInfoPB wrapped into std::unique_ptr or call STLDeleteElements in 
the destructor.  TSInfosDict's constructor should be made private, and 
CatalogManager and Master should be friended to use it.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 07 Jul 2020 23:13:32 +
Gerrit-HasComments: No


[kudu-CR] Optimize GetTableLocations for better arena use

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

Change subject: Optimize GetTableLocations for better arena use
..


Patch Set 7: Code-Review+1

(2 comments)

Looks good  to me, just a few nits.

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/master_service.cc
File src/kudu/master/master_service.cc:

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/master_service.cc@408
PS7, Line 408: AddAllocated
If keeping the CHECK() above, does it make sense to switch to 
UnsafeArenaAddAllocated() here?  Alternatively, maybe switch CHECK_EQ() into 
DCHECK_EQ() since AddAllocated() performs similar validation on itself and do 
copying if the arenas are different?


http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc
File src/kudu/master/ts_descriptor.cc:

http://gerrit.cloudera.org:8080/#/c/16137/7/src/kudu/master/ts_descriptor.cc@220
PS7, Line 220: CHECK
nit: I guess if registration is an empty std::unique_ptr wrapper, the process 
will get a SIGSEGV at line 221.  With that, do you think having DCHECK() is 
good enough here?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Tue, 07 Jul 2020 23:05:11 +
Gerrit-HasComments: Yes


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-07 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/integration-tests/registration-test.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
6 files changed, 48 insertions(+), 17 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 7
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-02 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
5 files changed, 43 insertions(+), 17 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 4
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-02 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
5 files changed, 43 insertions(+), 17 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 3
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] Optimize GetTableLocations for better arena use

2020-07-01 Thread Todd Lipcon (Code Review)
Hello Alexey Serbin,

I'd like you to do a code review. Please visit

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

to review the following change.


Change subject: Optimize GetTableLocations for better arena use
..

Optimize GetTableLocations for better arena use

Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
---
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master_service.cc
M src/kudu/master/ts_descriptor.cc
M src/kudu/master/ts_descriptor.h
5 files changed, 42 insertions(+), 17 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I65aa6b5a9854a4659d1e350e1461ad63c03d5fea
Gerrit-Change-Number: 16137
Gerrit-PatchSet: 1
Gerrit-Owner: Todd Lipcon 
Gerrit-Reviewer: Alexey Serbin