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