Repository: accumulo Updated Branches: refs/heads/master 4c9fd4dec -> 23f27828f
ACCUMULO-3597 use new connection when sending messages to load metadata tablets Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4ff11d40 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4ff11d40 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4ff11d40 Branch: refs/heads/master Commit: 4ff11d4089999cbb7775b04e47ed522af62992c9 Parents: 0c300de Author: Keith Turner <ktur...@apache.org> Authored: Mon Mar 9 12:56:55 2015 -0400 Committer: Keith Turner <ktur...@apache.org> Committed: Fri Mar 13 08:18:08 2015 -0400 ---------------------------------------------------------------------- .../accumulo/server/master/LiveTServerSet.java | 25 ++++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/4ff11d40/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java b/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java index 1dd2db8..8960005 100644 --- a/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java +++ b/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java @@ -82,12 +82,27 @@ public class LiveTServerSet implements Watcher { return mlock.getLockID().serialize(ZooUtil.getRoot(instance) + Constants.ZMASTER_LOCK); } + private void loadTablet(TabletClientService.Client client, ZooLock lock, KeyExtent extent) throws TException { + client.loadTablet(Tracer.traceInfo(), SecurityConstants.getSystemCredentials(), lockString(lock), extent.toThrift()); + } + public void assignTablet(ZooLock lock, KeyExtent extent) throws TException { - TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, conf); - try { - client.loadTablet(Tracer.traceInfo(), SecurityConstants.getSystemCredentials(), lockString(lock), extent.toThrift()); - } finally { - ThriftUtil.returnClient(client); + if (extent.isMeta()) { + // see ACCUMULO-3597 + TTransport transport = ThriftUtil.createTransport(address, conf); + try { + TabletClientService.Client client = ThriftUtil.createClient(new TabletClientService.Client.Factory(), transport); + loadTablet(client, lock, extent); + } finally { + transport.close(); + } + } else { + TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, conf); + try { + loadTablet(client, lock, extent); + } finally { + ThriftUtil.returnClient(client); + } } }