You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ja...@apache.org on 2018/05/04 19:57:25 UTC

cassandra git commit: ninja commit the minor updates for CASSANDRA-14335

Repository: cassandra
Updated Branches:
  refs/heads/trunk a9ec46a61 -> 68605cf03


ninja commit the minor updates for CASSANDRA-14335


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/68605cf0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/68605cf0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/68605cf0

Branch: refs/heads/trunk
Commit: 68605cf03bdfecb11cd69c6d5260a773e4e87300
Parents: a9ec46a
Author: Jason Brown <ja...@gmail.com>
Authored: Fri May 4 12:57:07 2018 -0700
Committer: Jason Brown <ja...@gmail.com>
Committed: Fri May 4 12:57:07 2018 -0700

----------------------------------------------------------------------
 .../apache/cassandra/service/CassandraDaemon.java |  3 ++-
 .../cassandra/tools/nodetool/ClientStats.java     | 10 +++++-----
 .../transport/ProtocolVersionTracker.java         | 18 ++++++++++--------
 .../org/apache/cassandra/transport/Server.java    | 11 ++++++-----
 4 files changed, 23 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/68605cf0/src/java/org/apache/cassandra/service/CassandraDaemon.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index 7e7649d..80b8b7b 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -679,7 +679,8 @@ public class CassandraDaemon
         instance.activate();
     }
 
-    public void clearConnectionHistory() {
+    public void clearConnectionHistory()
+    {
         nativeTransportService.clearConnectionHistory();
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/68605cf0/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
index 9b4ada8..5bd5da1 100644
--- a/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
+++ b/src/java/org/apache/cassandra/tools/nodetool/ClientStats.java
@@ -36,8 +36,8 @@ public class ClientStats extends NodeToolCmd
     @Option(title = "list_connections", name = "--all", description = "Lists all connections")
     private boolean listConnections = false;
 
-    @Option(title = "by_protocol", name = "--by-protocol", description = "Lists last 100 client connections with oldest protocol version")
-    private boolean oldestProtocolConnections = false;
+    @Option(title = "by_protocol", name = "--by-protocol", description = "Lists most recent client connections by protocol version")
+    private boolean connectionsByProtocolVersion = false;
 
     @Option(title = "clear_history", name = "--clear-history", description = "Clear the history of connected clients")
     private boolean clearConnectionHistory = false;
@@ -47,17 +47,17 @@ public class ClientStats extends NodeToolCmd
     {
         if (clearConnectionHistory)
         {
-            System.out.println("Clearing history");
+            System.out.println("Clearing connection history");
             probe.clearConnectionHistory();
             return;
         }
 
-        if (oldestProtocolConnections)
+        if (connectionsByProtocolVersion)
         {
             SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss");
 
             System.out.println("Clients by protocol version");
-            System.out.println("");
+            System.out.println();
 
             List<Map<String, String>> clients = (List<Map<String, String>>) probe.getClientMetric("clientsByProtocolVersion");
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/68605cf0/src/java/org/apache/cassandra/transport/ProtocolVersionTracker.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/ProtocolVersionTracker.java b/src/java/org/apache/cassandra/transport/ProtocolVersionTracker.java
index a2468bd..848917b 100644
--- a/src/java/org/apache/cassandra/transport/ProtocolVersionTracker.java
+++ b/src/java/org/apache/cassandra/transport/ProtocolVersionTracker.java
@@ -40,7 +40,7 @@ public class ProtocolVersionTracker
     public static final int DEFAULT_MAX_CAPACITY = 100;
 
     @VisibleForTesting
-    final EnumMap<ProtocolVersion, LoadingCache<InetAddress, Long>> clientsByProto;
+    final EnumMap<ProtocolVersion, LoadingCache<InetAddress, Long>> clientsByProtocolVersion;
 
     public ProtocolVersionTracker()
     {
@@ -49,12 +49,12 @@ public class ProtocolVersionTracker
 
     public ProtocolVersionTracker(final int capacity)
     {
-        this.clientsByProto = new EnumMap<>(ProtocolVersion.class);
+        clientsByProtocolVersion = new EnumMap<>(ProtocolVersion.class);
 
         for (ProtocolVersion version : ProtocolVersion.values())
         {
-            clientsByProto.put(version, Caffeine.newBuilder().maximumSize(capacity)
-                                                .build(key -> Clock.instance.currentTimeMillis()));
+            clientsByProtocolVersion.put(version, Caffeine.newBuilder().maximumSize(capacity)
+                                                          .build(key -> Clock.instance.currentTimeMillis()));
         }
     }
 
@@ -62,7 +62,7 @@ public class ProtocolVersionTracker
     {
         if (addr == null || version == null) return;
 
-        LoadingCache<InetAddress, Long> clients = clientsByProto.get(version);
+        LoadingCache<InetAddress, Long> clients = clientsByProtocolVersion.get(version);
         clients.put(addr, Clock.instance.currentTimeMillis());
     }
 
@@ -71,15 +71,17 @@ public class ProtocolVersionTracker
         LinkedHashMap<ProtocolVersion, ImmutableSet<ClientIPAndTime>> result = new LinkedHashMap<>();
         for (ProtocolVersion version : ProtocolVersion.values())
         {
-            result.put(version, ImmutableSet.copyOf(clientsByProto.get(version).asMap().entrySet().stream()
-                                                                  .map(e -> new ClientIPAndTime(e.getKey(), e.getValue())).collect(Collectors.toSet())));
+            ImmutableSet.Builder<ClientIPAndTime> ips = ImmutableSet.builder();
+            for (Map.Entry<InetAddress, Long> e : clientsByProtocolVersion.get(version).asMap().entrySet())
+                ips.add(new ClientIPAndTime(e.getKey(), e.getValue()));
+            result.put(version, ips.build());
         }
         return result;
     }
 
     public void clear()
     {
-        for (Map.Entry<ProtocolVersion, LoadingCache<InetAddress, Long>> entry : clientsByProto.entrySet())
+        for (Map.Entry<ProtocolVersion, LoadingCache<InetAddress, Long>> entry : clientsByProtocolVersion.entrySet())
         {
             entry.getValue().invalidateAll();
         }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/68605cf0/src/java/org/apache/cassandra/transport/Server.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/Server.java b/src/java/org/apache/cassandra/transport/Server.java
index a7cfdfb..996e5bb 100644
--- a/src/java/org/apache/cassandra/transport/Server.java
+++ b/src/java/org/apache/cassandra/transport/Server.java
@@ -207,8 +207,9 @@ public class Server implements CassandraDaemon.Server
         return result;
     }
 
-    public List<Map<String, String>> getClientsByProtocolVersion() {
-        LinkedHashMap<ProtocolVersion, ImmutableSet<ProtocolVersionTracker.ClientIPAndTime>> all = connectionTracker.protoTracker.getAll();
+    public List<Map<String, String>> getClientsByProtocolVersion()
+    {
+        LinkedHashMap<ProtocolVersion, ImmutableSet<ProtocolVersionTracker.ClientIPAndTime>> all = connectionTracker.protocolVersionTracker.getAll();
         List<Map<String, String>> result = new ArrayList<>();
 
         for (Map.Entry<ProtocolVersion, ImmutableSet<ProtocolVersionTracker.ClientIPAndTime>> entry : all.entrySet())
@@ -230,7 +231,7 @@ public class Server implements CassandraDaemon.Server
     @Override
     public void clearConnectionHistory()
     {
-        connectionTracker.protoTracker.clear();
+        connectionTracker.protocolVersionTracker.clear();
     }
 
     private void close()
@@ -309,7 +310,7 @@ public class Server implements CassandraDaemon.Server
         // TODO: should we be using the GlobalEventExecutor or defining our own?
         public final ChannelGroup allChannels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
         private final EnumMap<Event.Type, ChannelGroup> groups = new EnumMap<>(Event.Type.class);
-        private final ProtocolVersionTracker protoTracker = new ProtocolVersionTracker();
+        private final ProtocolVersionTracker protocolVersionTracker = new ProtocolVersionTracker();
 
         public ConnectionTracker()
         {
@@ -322,7 +323,7 @@ public class Server implements CassandraDaemon.Server
             allChannels.add(ch);
 
             if (ch.remoteAddress() instanceof InetSocketAddress)
-                protoTracker.addConnection(((InetSocketAddress) ch.remoteAddress()).getAddress(), connection.getVersion());
+                protocolVersionTracker.addConnection(((InetSocketAddress) ch.remoteAddress()).getAddress(), connection.getVersion());
         }
 
         public void register(Event.Type type, Channel ch)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org