Skip to content

Commit 9e6d03c

Browse files
BrandonArpvjkoskela
authored andcommitted
fix concurrency problem with telemetry actors/messages
1 parent fdcaa5b commit 9e6d03c

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/main/java/com/arpnetworking/metrics/proxy/actors/Telemetry.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import com.arpnetworking.steno.LogValueMapFactory;
3838
import com.arpnetworking.steno.Logger;
3939
import com.arpnetworking.steno.LoggerFactory;
40+
import com.google.common.collect.ImmutableMap;
4041
import com.google.common.collect.Maps;
4142
import com.google.common.collect.Sets;
4243
import com.google.inject.Inject;
@@ -207,7 +208,7 @@ private void executeMetricsListRequest() {
207208
_metrics.incrementCounter(METRICS_LIST_REQUEST);
208209

209210
// Transmit a list of all registered metrics
210-
getSender().tell(new MetricsList(_serviceMetrics), getSelf());
211+
getSender().tell(new MetricsList(ImmutableMap.copyOf(_serviceMetrics)), getSelf());
211212
}
212213

213214
private void registerLog(final Path logPath) {

src/main/java/com/arpnetworking/metrics/proxy/models/messages/MetricsList.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.arpnetworking.logback.annotations.Loggable;
2020
import com.fasterxml.jackson.annotation.JsonIgnore;
2121
import com.google.common.base.MoreObjects;
22+
import com.google.common.collect.ImmutableMap;
2223

2324
import java.util.Map;
2425
import java.util.Set;
@@ -38,7 +39,7 @@ public final class MetricsList {
3839
*
3940
* @param metrics Metrics map
4041
*/
41-
public MetricsList(final Map<String, Map<String, Set<String>>> metrics) {
42+
public MetricsList(final ImmutableMap<String, Map<String, Set<String>>> metrics) {
4243
_metrics = metrics;
4344
}
4445

@@ -60,5 +61,5 @@ public String toString() {
6061
.toString();
6162
}
6263

63-
private final Map<String, Map<String, Set<String>>> _metrics;
64+
private final ImmutableMap<String, Map<String, Set<String>>> _metrics;
6465
}

0 commit comments

Comments
 (0)