Jon Meredith created CASSANDRA-15937:
----------------------------------------
Summary: JMX output inconsistencies from CASSANDRA-7544
storage-port-configurable-per-node
Key: CASSANDRA-15937
URL: https://issues.apache.org/jira/browse/CASSANDRA-15937
Project: Cassandra
Issue Type: Bug
Components: Observability/JMX
Reporter: Jon Meredith
Assignee: Jon Meredith
CASSANDRA-7544 introduced changes to allow the storage port number to be
configured per-node. As part of that work it introduces new MBeans for
MessagingService, FailureDetector providing new 'WithPort' versions that
include the new port information, however there are some mistakes and
inconsistencies.
{code:java}
3.11.6 trunk trunk
w/Port Notes
AllEndpointStates /127.0.0.1\n... /127.0.0.3\n...
127.0.0.3:7000\n (trunk /w port different)
SimpleStates /127.0.0.2=UP /127.0.0.2=UP
127.0.0.3:7000=UP (trunk /w port different)
LargeMessagePendingTasks /127.0.0.1=0 /127.0.0.1=0
127.0.0.3:7000=0 (trunk /w port different)
TimeoutsPerHost 127.0.0.1=0 /127.0.0.1=0
127.0.0.3:7000=0 3.0/3.11.6 & trunk differ.
BackPressurePerHost 127.0.0.1=Infinity /127.0.0.2=Infinity
/127.0.0.2=Infinity 3.11 & trunk differ, missing port number for
BackPressurePerHostWithPort
SchemaVersions {...=[127.0.0.1,...]} {...=[127.0.0.1,...]}
{...=[127.0.0.1:7000,...]
TokenToEndpointMap {-92...8=127.0.0.1, -92...8=127.0.0.1
-92..8=127.0.0.1:7000
HostIdMap 127.0.0.1=1ee..6f0af 127.0.0.1=e06...7e MISSING
Deprecated for EndpointToHostId
EndpointToHostId 127.0.0.1=1ee..6f0a 127.0.0.1=e06...7e
127.0.0.1:7000=e0..7e
HostIdToEndpoint 1ee..6f0a=127.0.0.1 e06..7e=127.0.0.1
e06..7e=127.0.0.1:7000
LoadMap 127.0.0.1=185.01 KiB 127.0.0.1:7000=106.08 KiB
127.0.0.1=106.08 Ki LoadMap and LoadMapWithPort are flipped.
LiveNodes 127.0.0.1 127.0.0.1
127.0.0.1:7000
Ownership /127.0.0.1=0.333333 /127.0.0.1=0.333333
127.0.0.1:7000=0.333333
Scores /127.0.0.1=0.0 /127.0.0.1=0.0
127.0.0.1:7000=0.0
{code}
Proposed changes
1) AllEndpointStats, SimpleStates, Connection message tracking,
TimeoutsPerHost - include the host/ip:port in the WithPort version
2) Add port number to BackPressurePerHostWithPort
3) Correct LoadMap to omit port / LoadMapWithPort to include port
4) Ownership - update with port to host/ip:port version
5) Scores - update with port to host/ip:port version
Additionally while dumping out all of the JMX info with `sjk mxdump`
6) DynamicEndpointSnitch.getScoresWithPort now returns an InetAddressAndPort
which should just be a String
7) ClientMetrics.clientsByProtocolVersion returns a Guava Immutable map
8) StorageService.getIdealConsistencyLevel fails if none set (as we try and
call ConsistencyLevel.toString on a null pointer).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]