Author: kturner
Date: Fri May 31 19:45:38 2013
New Revision: 1488368
URL: http://svn.apache.org/r1488368
Log:
ACCUMULO-1477 made master create new connection when getting tserver status
Modified:
accumulo/branches/1.4/src/ (props changed)
accumulo/branches/1.4/src/core/ (props changed)
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/util/ThriftUtil.java
accumulo/branches/1.4/src/server/ (props changed)
accumulo/branches/1.4/src/server/src/ (props changed)
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java
(props changed)
Propchange: accumulo/branches/1.4/src/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5:r1459374
Propchange: accumulo/branches/1.4/src/core/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/core:r1459374
Modified:
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/util/ThriftUtil.java
URL:
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/util/ThriftUtil.java?rev=1488368&r1=1488367&r2=1488368&view=diff
==============================================================================
---
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/util/ThriftUtil.java
(original)
+++
accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/util/ThriftUtil.java
Fri May 31 19:45:38 2013
@@ -16,6 +16,7 @@
*/
package org.apache.accumulo.core.util;
+import java.io.IOException;
import java.net.InetSocketAddress;
import org.apache.accumulo.cloudtrace.instrument.thrift.TraceWrap;
@@ -29,6 +30,7 @@ import org.apache.accumulo.core.conf.Pro
import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
import org.apache.log4j.Logger;
+import org.apache.thrift.TException;
import org.apache.thrift.TServiceClient;
import org.apache.thrift.TServiceClientFactory;
import org.apache.thrift.protocol.TCompactProtocol;
@@ -125,6 +127,37 @@ public class ThriftUtil {
}
}
+ /**
+ * create a transport that is not pooled
+ */
+ public static TTransport createTransport(String address, int port,
AccumuloConfiguration conf) throws TException {
+ TTransport transport = null;
+
+ try {
+ transport =
TTimeoutTransport.create(org.apache.accumulo.core.util.AddressUtil.parseAddress(address,
port),
+ conf.getTimeInMillis(Property.GENERAL_RPC_TIMEOUT));
+ transport = ThriftUtil.transportFactory().getTransport(transport);
+ transport.open();
+ TTransport tmp = transport;
+ transport = null;
+ return tmp;
+ } catch (IOException ex) {
+ throw new TTransportException(ex);
+ } finally {
+ if (transport != null)
+ transport.close();
+ }
+
+
+ }
+
+ /**
+ * create a transport that is not pooled
+ */
+ public static TTransport createTransport(InetSocketAddress address,
AccumuloConfiguration conf) throws TException {
+ return createTransport(address.getAddress().getHostAddress(),
address.getPort(), conf);
+ }
+
public static TTransportFactory transportFactory() {
return transportFactory;
}
Propchange: accumulo/branches/1.4/src/server/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/server:r1459374
Propchange: accumulo/branches/1.4/src/server/src/
------------------------------------------------------------------------------
Merged /accumulo/branches/1.5/server/src:r1459374
Modified:
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
URL:
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java?rev=1488368&r1=1488367&r2=1488368&view=diff
==============================================================================
---
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
(original)
+++
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java
Fri May 31 19:45:38 2013
@@ -49,6 +49,7 @@ import org.apache.accumulo.server.zookee
import org.apache.hadoop.io.Text;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
+import org.apache.thrift.transport.TTransport;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.KeeperException.NoNodeException;
import org.apache.zookeeper.KeeperException.NotEmptyException;
@@ -97,12 +98,19 @@ public class LiveTServerSet implements W
}
}
- public TabletServerStatus getTableMap() throws TException,
ThriftSecurityException {
- TabletClientService.Iface client = ThriftUtil.getClient(new
TabletClientService.Client.Factory(), address,
ServerConfiguration.getSystemConfiguration());
+ public TabletServerStatus getTableMap(boolean usePooledConnection) throws
TException, ThriftSecurityException {
+
+ if (usePooledConnection == true)
+ throw new UnsupportedOperationException();
+
+ TTransport transport = ThriftUtil.createTransport(address,
ServerConfiguration.getSystemConfiguration());
+
try {
+ TabletClientService.Iface client = ThriftUtil.createClient(new
TabletClientService.Client.Factory(), transport);
return client.getTabletServerStatus(null,
SecurityConstants.getSystemCredentials());
} finally {
- ThriftUtil.returnClient(client);
+ if (transport != null)
+ transport.close();
}
}
Modified:
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL:
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1488368&r1=1488367&r2=1488368&view=diff
==============================================================================
---
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
(original)
+++
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/Master.java
Fri May 31 19:45:38 2013
@@ -2037,7 +2037,7 @@ public class Master implements LiveTServ
Set<TServerInstance> currentServers = tserverSet.getCurrentServers();
for (TServerInstance server : currentServers) {
try {
- TabletServerStatus status =
tserverSet.getConnection(server).getTableMap();
+ TabletServerStatus status =
tserverSet.getConnection(server).getTableMap(false);
result.put(server, status);
// TODO maybe remove from bad servers
} catch (Exception ex) {
Modified:
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java
URL:
http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java?rev=1488368&r1=1488367&r2=1488368&view=diff
==============================================================================
---
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java
(original)
+++
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/tserverOps/ShutdownTServer.java
Fri May 31 19:45:38 2013
@@ -70,7 +70,7 @@ public class ShutdownTServer extends Mas
TServerConnection connection = m.getConnection(server);
if (connection != null) {
try {
- TabletServerStatus status = connection.getTableMap();
+ TabletServerStatus status = connection.getTableMap(false);
if (status.tableMap != null && status.tableMap.isEmpty()) {
log.info("tablet server hosts no tablets " + server);
connection.halt(m.getMasterLock());
Propchange:
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java
------------------------------------------------------------------------------
Merged
/accumulo/branches/1.5/server/src/main/java/org/apache/accumulo/server/zookeeper/ZooLock.java:r1459374