19
19
package org .apache .accumulo .test .metrics ;
20
20
21
21
import static org .junit .jupiter .api .Assertions .assertEquals ;
22
+ import static org .junit .jupiter .api .Assertions .assertNotNull ;
22
23
import static org .junit .jupiter .api .Assertions .assertTrue ;
23
- import static org .junit .jupiter .api .Assertions .fail ;
24
24
25
25
import java .nio .ByteBuffer ;
26
26
import java .time .Duration ;
50
50
import org .apache .accumulo .test .functional .ConfigurableMacBase ;
51
51
import org .apache .hadoop .conf .Configuration ;
52
52
import org .junit .jupiter .api .Test ;
53
+ import org .slf4j .Logger ;
54
+ import org .slf4j .LoggerFactory ;
53
55
54
56
import com .google .common .net .HostAndPort ;
55
57
56
58
public class MetricsThriftRpcIT extends ConfigurableMacBase {
57
59
60
+ private static final Logger log = LoggerFactory .getLogger (MetricsThriftRpcIT .class );
61
+
58
62
@ Override
59
63
protected Duration defaultTimeout () {
60
64
return Duration .ofMinutes (3 );
@@ -79,8 +83,8 @@ protected void configure(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSit
79
83
80
84
private int handleMetrics (final MetricResponse response ) {
81
85
if (response .getMetricsSize () == 0 ) {
82
- System . out . println ("type: " + response . getServerType () + ", host: " + response .getServer ()
83
- + ", group: " + response .getResourceGroup () + "has no metrics" );
86
+ log . info ("type: {}, host: {}, group: {} has no metrics" , response .getServerType (),
87
+ response . getServer (), response .getResourceGroup ());
84
88
return response .getMetricsSize ();
85
89
}
86
90
for (final ByteBuffer binary : response .getMetrics ()) {
@@ -90,10 +94,11 @@ private int handleMetrics(final MetricResponse response) {
90
94
FTag t = fm .tags (i );
91
95
tags .add (t .key () + " = " + t .value ());
92
96
}
93
- System .out .println ("type: " + response .getServerType () + ", host: " + response .getServer ()
94
- + ", group: " + response .getResourceGroup () + ", time: " + response .getTimestamp ()
95
- + ", name: " + fm .name () + ", type: " + fm .type () + ", tags: " + tags + ", dval: "
96
- + fm .dvalue () + ", ival: " + fm .ivalue () + ", lval: " + fm .lvalue ());
97
+ log .info (
98
+ "type: {}, host: {}, group: {}, time: {}, name: {}, type: {}, tags: {}, dval: {}, ival: {}, lval: {}" ,
99
+ response .getServerType (), response .getServer (), response .getResourceGroup (),
100
+ response .getTimestamp (), fm .name (), fm .type (), tags , fm .dvalue (), fm .ivalue (),
101
+ fm .lvalue ());
97
102
}
98
103
return response .getMetricsSize ();
99
104
}
@@ -107,47 +112,39 @@ public void testRpc() throws Exception {
107
112
ClientContext cc = (ClientContext ) client ;
108
113
Set <ServerId > managers = client .instanceOperations ().getServers (ServerId .Type .MANAGER );
109
114
assertEquals (1 , managers .size ());
110
- for (ServerId server : managers ) {
111
- Client metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
112
- HostAndPort .fromParts (server .getHost (), server .getPort ()), cc );
113
- try {
114
- MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
115
- getCluster ().getServerContext ().rpcCreds ());
116
- assertEquals (server .getResourceGroup (), response .getResourceGroup ());
117
- assertEquals (MetricSource .MANAGER , response .getServerType ());
118
- assertTrue (handleMetrics (response ) > 0 );
119
- } finally {
120
- ThriftUtil .returnClient (metricsClient , cc );
121
- }
115
+ ServerId managerServer = managers .iterator ().next ();
116
+ Client metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
117
+ HostAndPort .fromParts (managerServer .getHost (), managerServer .getPort ()), cc );
118
+ try {
119
+ MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
120
+ getCluster ().getServerContext ().rpcCreds ());
121
+ assertEquals (managerServer .getResourceGroup (), response .getResourceGroup ());
122
+ assertEquals (MetricSource .MANAGER , response .getServerType ());
123
+ assertTrue (handleMetrics (response ) > 0 );
124
+ } finally {
125
+ ThriftUtil .returnClient (metricsClient , cc );
122
126
}
123
127
ServiceLockPath zgcPath = cc .getServerPaths ().getGarbageCollector (true );
124
- if (zgcPath != null ) {
125
- Optional <ServiceLockData > sld = cc .getZooCache ().getLockData (zgcPath );
126
- String location = null ;
127
- if (sld .isPresent ()) {
128
- location = sld .orElseThrow ().getAddressString (ThriftService .GC );
129
- HostAndPort hp = HostAndPort .fromString (location );
130
- Client metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS , hp , cc );
131
- try {
132
- MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
133
- getCluster ().getServerContext ().rpcCreds ());
134
- assertEquals (Constants .DEFAULT_RESOURCE_GROUP_NAME , response .getResourceGroup ());
135
- assertEquals (MetricSource .GARBAGE_COLLECTOR , response .getServerType ());
136
- assertTrue (handleMetrics (response ) > 0 );
137
- } finally {
138
- ThriftUtil .returnClient (metricsClient , cc );
139
- }
140
- } else {
141
- fail ("Garbage Collector ZooKeeper lock data not found" );
142
- }
143
- } else {
144
- fail ("Garbage Collector not found in ZooKeeper" );
128
+ assertNotNull (zgcPath , "Garbage Collector not found in ZooKeeper" );
129
+ Optional <ServiceLockData > sld = cc .getZooCache ().getLockData (zgcPath );
130
+ assertTrue (sld .isPresent (), "Garbage Collector ZooKeeper lock data not found" );
131
+ String location = sld .orElseThrow ().getAddressString (ThriftService .GC );
132
+ HostAndPort hp = HostAndPort .fromString (location );
133
+ metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS , hp , cc );
134
+ try {
135
+ MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
136
+ getCluster ().getServerContext ().rpcCreds ());
137
+ assertEquals (Constants .DEFAULT_RESOURCE_GROUP_NAME , response .getResourceGroup ());
138
+ assertEquals (MetricSource .GARBAGE_COLLECTOR , response .getServerType ());
139
+ assertTrue (handleMetrics (response ) > 0 );
140
+ } finally {
141
+ ThriftUtil .returnClient (metricsClient , cc );
145
142
}
146
143
147
144
Set <ServerId > compactors = client .instanceOperations ().getServers (ServerId .Type .COMPACTOR );
148
145
assertEquals (4 , compactors .size ());
149
146
for (ServerId server : compactors ) {
150
- Client metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
147
+ metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
151
148
HostAndPort .fromParts (server .getHost (), server .getPort ()), cc );
152
149
try {
153
150
MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
@@ -162,7 +159,7 @@ public void testRpc() throws Exception {
162
159
Set <ServerId > sservers = client .instanceOperations ().getServers (ServerId .Type .SCAN_SERVER );
163
160
assertEquals (3 , sservers .size ());
164
161
for (ServerId server : sservers ) {
165
- Client metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
162
+ metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
166
163
HostAndPort .fromParts (server .getHost (), server .getPort ()), cc );
167
164
try {
168
165
MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
@@ -177,7 +174,7 @@ public void testRpc() throws Exception {
177
174
Set <ServerId > tservers = client .instanceOperations ().getServers (ServerId .Type .TABLET_SERVER );
178
175
assertEquals (2 , tservers .size ());
179
176
for (ServerId server : tservers ) {
180
- Client metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
177
+ metricsClient = ThriftUtil .getClient (ThriftClientTypes .METRICS ,
181
178
HostAndPort .fromParts (server .getHost (), server .getPort ()), cc );
182
179
try {
183
180
MetricResponse response = metricsClient .getMetrics (TraceUtil .traceInfo (),
0 commit comments