From 79b59d658257cd8c8f274f9f04604da11b54cbea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=B1=E6=81=92?= Date: Mon, 27 Feb 2023 10:38:10 +0800 Subject: [PATCH 1/4] skip maven-surefire-plugin default-test execute --- test/pom.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/pom.xml b/test/pom.xml index 6ebc52436..9f4741713 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -103,6 +103,16 @@ true + + default-test + test + + test + + + true + + test-junit test From 0fa0506e48057c9ba6af182f630a1ba222fb398a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=B1=E6=81=92?= Date: Tue, 28 Feb 2023 20:18:46 +0800 Subject: [PATCH 2/4] metric sync_delta and sync_all with datacenter label --- .../common/model/store/Subscriber.java | 2 +- .../RemoteDataChangeNotifyHandler.java | 8 +++--- .../slot/MultiClusterSlotManagerImpl.java | 6 ++--- .../cluster/slot/MultiClusterSlotMetrics.java | 25 +++++++++++++++++ .../registry/server/data/timer/Metrics.java | 27 ------------------- .../scheduler/timertask/CacheCountTask.java | 6 +++++ 6 files changed, 40 insertions(+), 34 deletions(-) diff --git a/server/common/model/src/main/java/com/alipay/sofa/registry/common/model/store/Subscriber.java b/server/common/model/src/main/java/com/alipay/sofa/registry/common/model/store/Subscriber.java index e80f2f854..b289955e1 100644 --- a/server/common/model/src/main/java/com/alipay/sofa/registry/common/model/store/Subscriber.java +++ b/server/common/model/src/main/java/com/alipay/sofa/registry/common/model/store/Subscriber.java @@ -295,7 +295,7 @@ public DataType getDataType() { @Override protected synchronized String getOtherInfo() { return StringFormatter.format( - "scope={},elementType={},ctx={}", scope, elementType, lastPushContexts); + "scope={},elementType={},multi={},ctx={}", scope, elementType, acceptMulti, lastPushContexts); } public synchronized String printPushContext() { diff --git a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/client/handler/RemoteDataChangeNotifyHandler.java b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/client/handler/RemoteDataChangeNotifyHandler.java index 6140af12c..4ec193809 100644 --- a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/client/handler/RemoteDataChangeNotifyHandler.java +++ b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/client/handler/RemoteDataChangeNotifyHandler.java @@ -26,6 +26,8 @@ import com.alipay.sofa.registry.server.data.multi.cluster.slot.MultiClusterSlotManager; import com.alipay.sofa.registry.server.shared.remoting.AbstractClientHandler; import com.alipay.sofa.registry.util.ParaCheckUtil; + +import java.util.Set; import java.util.concurrent.Executor; import org.springframework.beans.factory.annotation.Autowired; @@ -85,12 +87,12 @@ public Object doHandle(Channel channel, DataChangeRequest request) { request); return null; } + Set dataInfoIds = request.getDataInfoIds().keySet(); LOGGER.info( "[DataChangeRequest]dataCenter:{} data change:{}", request.getDataCenter(), - request.getDataInfoIds().keySet()); - multiClusterSlotManager.dataChangeNotify( - request.getDataCenter(), request.getDataInfoIds().keySet()); + dataInfoIds.size()); + multiClusterSlotManager.dataChangeNotify(request.getDataCenter(), dataInfoIds); return null; } } diff --git a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotManagerImpl.java b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotManagerImpl.java index 53443e54b..bcb443728 100644 --- a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotManagerImpl.java +++ b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotManagerImpl.java @@ -43,6 +43,7 @@ import com.alipay.sofa.registry.server.data.multi.cluster.exchanger.RemoteDataNodeExchanger; import com.alipay.sofa.registry.server.data.multi.cluster.executor.MultiClusterExecutorManager; import com.alipay.sofa.registry.server.data.multi.cluster.loggers.Loggers; +import com.alipay.sofa.registry.server.data.multi.cluster.slot.MultiClusterSlotMetrics.SyncType; import com.alipay.sofa.registry.server.data.multi.cluster.sync.info.FetchMultiSyncService; import com.alipay.sofa.registry.server.data.slot.SlotChangeListenerManager; import com.alipay.sofa.registry.server.data.slot.SlotDiffSyncer; @@ -51,7 +52,6 @@ import com.alipay.sofa.registry.server.data.slot.SyncContinues; import com.alipay.sofa.registry.server.data.slot.SyncLeaderTask; import com.alipay.sofa.registry.server.data.timer.Metrics; -import com.alipay.sofa.registry.server.data.timer.Metrics.SyncType; import com.alipay.sofa.registry.server.shared.remoting.ClientSideExchanger; import com.alipay.sofa.registry.store.api.meta.MultiClusterSyncRepository; import com.alipay.sofa.registry.task.KeyedTask; @@ -897,7 +897,7 @@ private void syncRemoteDataIds( MULTI_CLUSTER_SYNC_DIGEST_LOGGER); state.syncDataIdTask = multiClusterExecutorManager.getRemoteSyncDataIdExecutor().execute(slot.getId(), task); - Metrics.syncAccess(SyncType.SYNC_DELTA); + MultiClusterSlotMetrics.syncAccess(remoteDataCenter, SyncType.SYNC_DELTA); return; } @@ -943,7 +943,7 @@ void syncRemote( MULTI_CLUSTER_SYNC_DIGEST_LOGGER); state.syncRemoteTask = multiClusterExecutorManager.getRemoteSyncLeaderExecutor().execute(slot.getId(), task); - Metrics.syncAccess(SyncType.SYNC_ALL); + MultiClusterSlotMetrics.syncAccess(remoteDataCenter, SyncType.SYNC_ALL); return; } diff --git a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotMetrics.java b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotMetrics.java index 48da658d8..26414a043 100644 --- a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotMetrics.java +++ b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/multi/cluster/slot/MultiClusterSlotMetrics.java @@ -122,4 +122,29 @@ static void observeRemoteLeaderSyncingHistogram(String dataCenter, int slotId, l .labels(dataCenter, String.valueOf(slotId)) .observe(millis / 1000d); } + + private static final Counter SYNC_COUNTER = + Counter.build() + .namespace("data") + .subsystem("access") + .name("sync_total") + .labelNames("remote", "type") + .help("sync data access num") + .register(); + + public static void syncAccess(String remote, SyncType syncType) { + if (syncType == SyncType.SYNC_ALL) { + SYNC_COUNTER.labels(remote, "ALL").inc(); + } else if (syncType == SyncType.SYNC_DELTA) { + SYNC_COUNTER.labels(remote, "DELTA").inc(); + } else { + throw new IllegalArgumentException("illegal sync type: " + syncType); + } + } + + public enum SyncType { + SYNC_ALL, + SYNC_DELTA, + ; + } } diff --git a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/timer/Metrics.java b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/timer/Metrics.java index 4af2c77e2..7697ce520 100644 --- a/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/timer/Metrics.java +++ b/server/server/data/src/main/java/com/alipay/sofa/registry/server/data/timer/Metrics.java @@ -39,31 +39,4 @@ private Metrics() {} .labelNames("dataCenter", "remote", "instanceId", "group") .help("publisher dataID cache num") .register(); - - private static final Counter SYNC_COUNTER = - Counter.build() - .namespace("data") - .subsystem("access") - .name("sync_total") - .labelNames("type") - .help("sync data access num") - .register(); - static final Counter.Child SYNC_ALL = SYNC_COUNTER.labels("ALL"); - static final Counter.Child SYNC_DELTA = SYNC_COUNTER.labels("DELTA"); - - public static void syncAccess(SyncType syncType) { - if (syncType == SyncType.SYNC_ALL) { - SYNC_ALL.inc(); - } else if (syncType == SyncType.SYNC_DELTA) { - SYNC_DELTA.inc(); - } else { - throw new IllegalArgumentException("illegal sync type: " + syncType); - } - } - - public enum SyncType { - SYNC_ALL, - SYNC_DELTA, - ; - } } diff --git a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java index cad02d746..1cd7bdfc1 100644 --- a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java +++ b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java @@ -180,4 +180,10 @@ private static void printInstanceIdGroupCount( } } } + + public static void main(String[] args) { + List notMulti = Lists.newArrayListWithExpectedSize(1000); + notMulti.add("aaa"); + System.out.println(notMulti.size()); + } } From 0a975afab42037f1e5c02199083c8b016166d131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=B1=E6=81=92?= Date: Tue, 28 Feb 2023 20:48:27 +0800 Subject: [PATCH 3/4] metric push delay with datacenter label --- .../server/session/push/PushMetrics.java | 17 +++++++---------- .../registry/server/session/push/PushTrace.java | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushMetrics.java b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushMetrics.java index 807305ca5..441ce8cbb 100644 --- a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushMetrics.java +++ b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushMetrics.java @@ -124,28 +124,25 @@ static final class Push { .subsystem("push") .name("push_delay") .help("push delay") - .labelNames("cause", "status") + .labelNames("datacenter", "cause", "status") .register(); - private static final Histogram.Child SUB_OK = - PUSH_DELAY_HISTOGRAM.labels(PushType.Sub.name(), PushTrace.PushStatus.OK.name()); - private static final Histogram.Child REG_OK = - PUSH_DELAY_HISTOGRAM.labels(PushType.Reg.name(), PushTrace.PushStatus.OK.name()); - - static void observePushDelayHistogram( + static void observePushDelayHistogram(String dataCenter, PushType pushType, long millis, PushTrace.PushStatus status) { // quick path if (status == PushTrace.PushStatus.OK) { if (pushType == PushType.Sub) { - SUB_OK.observe(millis); + PUSH_DELAY_HISTOGRAM.labels(dataCenter, PushType.Sub.name(), PushTrace.PushStatus.OK.name()).observe(millis); + return; } if (pushType == PushType.Reg) { - REG_OK.observe(millis); + PUSH_DELAY_HISTOGRAM.labels(dataCenter, PushType.Reg.name(), PushTrace.PushStatus.OK.name()).observe(millis); + return; } } - PUSH_DELAY_HISTOGRAM.labels(pushType.name(), status.name()).observe(millis); + PUSH_DELAY_HISTOGRAM.labels(dataCenter, pushType.name(), status.name()).observe(millis); } static final Counter PUSH_EMPTY_SKIP_COUNTER = diff --git a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushTrace.java b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushTrace.java index 4a0dfd1fd..77a4d1991 100644 --- a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushTrace.java +++ b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/push/PushTrace.java @@ -201,7 +201,7 @@ private void finish( datumModifyPushSpanMillis = Math.max(datumPushedDelayList.get(0), datumVersionPushSpanMillis); } - PushMetrics.Push.observePushDelayHistogram( + PushMetrics.Push.observePushDelayHistogram(dataCenter, pushCause.pushType, datumModifyPushSpanMillis, status); if (LOGGER.isInfoEnabled() || SLOW_LOGGER.isInfoEnabled()) { final String msg = From f74f4bc195de6d3d27c8f9d2cdf5d0f92e4f23a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=B1=E6=81=92?= Date: Tue, 28 Feb 2023 20:59:55 +0800 Subject: [PATCH 4/4] metric push delay with datacenter label --- .../server/session/scheduler/timertask/CacheCountTask.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java index 1cd7bdfc1..cad02d746 100644 --- a/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java +++ b/server/server/session/src/main/java/com/alipay/sofa/registry/server/session/scheduler/timertask/CacheCountTask.java @@ -180,10 +180,4 @@ private static void printInstanceIdGroupCount( } } } - - public static void main(String[] args) { - List notMulti = Lists.newArrayListWithExpectedSize(1000); - notMulti.add("aaa"); - System.out.println(notMulti.size()); - } }