You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "David Ribeiro Alves (Code Review)" <ge...@cloudera.org> on 2016/05/14 21:14:18 UTC

[kudu-CR] Move the MetaCacheServerPicker into meta_cache.h/cc

Hello Kudu Jenkins,

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

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

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

Change subject: Move the MetaCacheServerPicker into meta_cache.h/cc
......................................................................

Move the MetaCacheServerPicker into meta_cache.h/cc

This moves the MetaCacheServerPicker into meta_cache.h/cc.

Previously this would also make the picker a member of the corresponding
RemoteTablet, but turns out this is problematic due to the lifecycle of
KuduTable, a user controlled object that is used internally on every lookup.

Specifically I tried two options: Making the picker hold a reference to
KuduTable, which resulted in a memory leak due to cyclic dependencies; Just
holding a plain pointer, at which time I would get a SIGSEGV due to the user
deleting the object. We can likely sort the lifecycle issues in some way but
I didn't look too deep into it.

Change-Id: I5344e9556f7042743458efbf1a5dc8be1e45f8da
---
M src/kudu/client/batcher.cc
M src/kudu/client/meta_cache.cc
M src/kudu/client/meta_cache.h
3 files changed, 210 insertions(+), 181 deletions(-)


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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5344e9556f7042743458efbf1a5dc8be1e45f8da
Gerrit-PatchSet: 11
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: David Ribeiro Alves <da...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>