Return-Path: X-Original-To: apmail-accumulo-commits-archive@www.apache.org Delivered-To: apmail-accumulo-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 742D3C67D for ; Fri, 27 Apr 2012 15:06:14 +0000 (UTC) Received: (qmail 46837 invoked by uid 500); 27 Apr 2012 15:06:14 -0000 Delivered-To: apmail-accumulo-commits-archive@accumulo.apache.org Received: (qmail 46816 invoked by uid 500); 27 Apr 2012 15:06:14 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 46804 invoked by uid 99); 27 Apr 2012 15:06:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Apr 2012 15:06:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Apr 2012 15:06:09 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 749CE2388860 for ; Fri, 27 Apr 2012 15:05:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1331459 - in /accumulo/trunk: ./ core/ core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/apache/accumulo/core/client/impl/ server/ server/src/main/java/org/apache/accumulo/server/monitor/ server/src/main/java... Date: Fri, 27 Apr 2012 15:05:48 -0000 To: commits@accumulo.apache.org From: ecn@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120427150548.749CE2388860@eris.apache.org> Author: ecn Date: Fri Apr 27 15:05:47 2012 New Revision: 1331459 URL: http://svn.apache.org/viewvc?rev=1331459&view=rev Log: ACCUMULO-554, ACCUMULO-553 merge to trunk Modified: accumulo/trunk/ (props changed) accumulo/trunk/core/ (props changed) accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java accumulo/trunk/server/ (props changed) accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/TServersServlet.java accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/GetMasterStats.java accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousStatsCollector.java Propchange: accumulo/trunk/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/src:r1331456 Merged /accumulo/branches/1.4:r1331456 Propchange: accumulo/trunk/core/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/core:r1331456 Merged /accumulo/branches/1.4/src/core:r1331456 Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1331459&r1=1331458&r2=1331459&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java Fri Apr 27 15:05:47 2012 @@ -198,7 +198,7 @@ public class TableOperationsImpl extends while (true) { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); return client.beginTableOperation(null, credentials); } catch (TTransportException tte) { log.debug("Failed to call beginTableOperation(), retrying ... ", tte); @@ -214,7 +214,7 @@ public class TableOperationsImpl extends while (true) { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); client.executeTableOperation(null, credentials, opid, op, args, opts, autoCleanUp); break; } catch (TTransportException tte) { @@ -230,7 +230,7 @@ public class TableOperationsImpl extends while (true) { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); return client.waitForTableOperation(null, credentials, opid); } catch (TTransportException tte) { log.debug("Failed to call waitForTableOperation(), retrying ... ", tte); @@ -245,7 +245,7 @@ public class TableOperationsImpl extends while (true) { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); client.finishTableOperation(null, credentials, opid); break; } catch (TTransportException tte) { @@ -622,7 +622,7 @@ public class TableOperationsImpl extends while (true) { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); flushID = client.initiateFlush(null, credentials, tableId); break; } catch (TTransportException tte) { @@ -636,7 +636,7 @@ public class TableOperationsImpl extends while (true) { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); client.waitForFlush(null, credentials, tableId, TextUtil.getByteBuffer(start), TextUtil.getByteBuffer(end), flushID, wait ? Long.MAX_VALUE : 1); break; } catch (TTransportException tte) { @@ -1051,7 +1051,7 @@ public class TableOperationsImpl extends ArgumentChecker.notNull(tableName, aggregators); MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(instance); + client = MasterClient.getConnectionWithRetry(instance); for (Entry entry : IteratorUtil.generateAggTableProperties(aggregators).entrySet()) { client.setTableProperty(null, credentials, tableName, entry.getKey(), entry.getValue()); } Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java?rev=1331459&r1=1331458&r2=1331459&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MasterClient.java Fri Apr 27 15:05:47 2012 @@ -34,36 +34,41 @@ import org.apache.thrift.transport.TTran public class MasterClient { private static final Logger log = Logger.getLogger(MasterClient.class); - public static MasterClientService.Iface getConnection(Instance instance) throws TTransportException { + public static MasterClientService.Iface getConnectionWithRetry(Instance instance) throws TTransportException { ArgumentChecker.notNull(instance); while (true) { - List locations = instance.getMasterLocations(); - - while (locations.size() == 0) { - log.debug("No masters, will retry..."); - UtilWaitThread.sleep(250); - locations = instance.getMasterLocations(); - } - - String master = locations.get(0); - int portHint = instance.getConfiguration().getPort(Property.MASTER_CLIENTPORT); - - try { - // Master requests can take a long time: don't ever time out - MasterClientService.Iface client = ThriftUtil.getClient(new MasterClientService.Client.Factory(), master, Property.MASTER_CLIENTPORT, - instance.getConfiguration()); - return client; - } catch (TTransportException tte) { - log.debug("Failed to connect to master=" + master + " portHint=" + portHint + ", will retry... ", tte); - } - + MasterClientService.Iface result = getConnection(instance); + if (result != null) + return result; UtilWaitThread.sleep(250); } } + public static MasterClientService.Iface getConnection(Instance instance) { + List locations = instance.getMasterLocations(); + + if (locations.size() == 0) { + log.debug("No masters..."); + return null; + } + + String master = locations.get(0); + int portHint = instance.getConfiguration().getPort(Property.MASTER_CLIENTPORT); + + try { + // Master requests can take a long time: don't ever time out + MasterClientService.Iface client = ThriftUtil.getClient(new MasterClientService.Client.Factory(), master, Property.MASTER_CLIENTPORT, + instance.getConfiguration()); + return client; + } catch (TTransportException tte) { + log.debug("Failed to connect to master=" + master + " portHint=" + portHint + ", will retry... ", tte); + return null; + } + } + public static void close(MasterClientService.Iface iface) { TServiceClient client = (TServiceClient) iface; if (client != null && client.getInputProtocol() != null && client.getInputProtocol().getTransport() != null) { @@ -77,7 +82,7 @@ public class MasterClient { MasterClientService.Iface client = null; while (true) { try { - client = getConnection(instance); + client = getConnectionWithRetry(instance); return exec.execute(client); } catch (TTransportException tte) { log.debug("MasterClient request failed, retrying ... ", tte); @@ -99,7 +104,7 @@ public class MasterClient { MasterClientService.Iface client = null; while (true) { try { - client = getConnection(instance); + client = getConnectionWithRetry(instance); exec.execute(client); break; } catch (TTransportException tte) { Propchange: accumulo/trunk/server/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.4/server:r1331456 Merged /accumulo/branches/1.4/src/server:r1331456 Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java?rev=1331459&r1=1331458&r2=1331459&view=diff ============================================================================== --- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java (original) +++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java Fri Apr 27 15:05:47 2012 @@ -287,17 +287,23 @@ public class Monitor { MasterClientService.Iface client = null; try { client = MasterClient.getConnection(HdfsZooInstance.getInstance()); - mmi = client.getMasterStats(null, SecurityConstants.getSystemCredentials()); + if (client != null) { + mmi = client.getMasterStats(null, SecurityConstants.getSystemCredentials()); + } else { + mmi = null; + } Monitor.gcStatus = fetchGcStatus(); retry = false; } catch (Exception e) { mmi = null; log.info("Error fetching stats: " + e); - UtilWaitThread.sleep(1000); } finally { - if (client != null) + if (client != null) { MasterClient.close(client); + } } + if (mmi == null) + UtilWaitThread.sleep(1000); } int majorCompactions = 0; Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/TServersServlet.java URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/TServersServlet.java?rev=1331459&r1=1331458&r2=1331459&view=diff ============================================================================== --- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/TServersServlet.java (original) +++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/TServersServlet.java Fri Apr 27 15:05:47 2012 @@ -314,10 +314,10 @@ public class TServersServlet extends Bas for (TabletServerStatus status : tservers) { avgLastContact += (now - status.lastContact); } - + final long MINUTES = 3 * 60 * 1000; tServerList.addSortableColumn("Server", new TServerLinkType(), null); tServerList.addSortableColumn("Hosted Tablets", new NumberType(0, Integer.MAX_VALUE), null); - tServerList.addSortableColumn("Last Contact", new DurationType(0l, (long) avgLastContact * 4), null); + tServerList.addSortableColumn("Last Contact", new DurationType(0l, (long) Math.min(avgLastContact * 4, MINUTES)), null); tServerList.addSortableColumn("Entries", new NumberType(), "The number of key/value pairs."); tServerList.addSortableColumn("Ingest", new NumberType(), "The number of key/value pairs inserted. (Note that deletes are also 'inserted')"); tServerList.addSortableColumn("Query", new NumberType(), "The number of key/value pairs returned to clients. (Not the number of scans)"); Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/GetMasterStats.java URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/GetMasterStats.java?rev=1331459&r1=1331458&r2=1331459&view=diff ============================================================================== --- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/GetMasterStats.java (original) +++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/GetMasterStats.java Fri Apr 27 15:05:47 2012 @@ -42,7 +42,7 @@ public class GetMasterStats { MasterClientService.Iface client = null; MasterMonitorInfo stats = null; try { - client = MasterClient.getConnection(HdfsZooInstance.getInstance()); + client = MasterClient.getConnectionWithRetry(HdfsZooInstance.getInstance()); stats = client.getMasterStats(null, SecurityConstants.getSystemCredentials()); } finally { if (client != null) Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousStatsCollector.java URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousStatsCollector.java?rev=1331459&r1=1331458&r2=1331459&view=diff ============================================================================== --- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousStatsCollector.java (original) +++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/test/continuous/ContinuousStatsCollector.java Fri Apr 27 15:05:47 2012 @@ -125,7 +125,7 @@ public class ContinuousStatsCollector { MasterClientService.Iface client = null; try { - client = MasterClient.getConnection(HdfsZooInstance.getInstance()); + client = MasterClient.getConnectionWithRetry(HdfsZooInstance.getInstance()); MasterMonitorInfo stats = client.getMasterStats(null, SecurityConstants.getSystemCredentials()); TableInfo all = new TableInfo();