diff --git a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporter.java b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporter.java index 53fc7e99535981369596ee9a66435c30233673ea..fd6d28e65c8e1f8f1f65fef4d983117292619814 100644 --- a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporter.java +++ b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporter.java @@ -104,8 +104,8 @@ public class GRPCExporter extends MetricFormatter implements MetricValuesExportS public void fetchSubscriptionList() { final long currentTimeMillis = System.currentTimeMillis(); if (currentTimeMillis - lastFetchTimestamp > FETCH_SUBSCRIPTION_PERIOD) { + fetchListLock.lock(); try { - fetchListLock.lock(); if (currentTimeMillis - lastFetchTimestamp > FETCH_SUBSCRIPTION_PERIOD) { lastFetchTimestamp = currentTimeMillis; SubscriptionsResp subscription = blockingStub.withDeadlineAfter(10, TimeUnit.SECONDS)