public void cacheSubscriberForRedo(String serviceName, String groupName, String cluster) {
        String key = ServiceInfo.getKey(NamingUtils.getGroupedName(serviceName, groupName), cluster);
        SubscriberRedoData redoData = SubscriberRedoData.build(serviceName, groupName, cluster);
        synchronized (subscribes) {
            subscribes.put(key, redoData);
        }
    }
@Test
    void testCacheSubscriberForRedo() {
        ConcurrentMap<String, SubscriberRedoData> subscribes = getSubscriberRedoDataMap();
        assertTrue(subscribes.isEmpty());
        redoService.cacheSubscriberForRedo(SERVICE, GROUP, CLUSTER);
        assertFalse(subscribes.isEmpty());
        SubscriberRedoData actual = subscribes.entrySet().iterator().next().getValue();
        assertEquals(SERVICE, actual.getServiceName());
        assertEquals(GROUP, actual.getGroupName());
        assertEquals(CLUSTER, actual.get());
        assertFalse(actual.isRegistered());
        assertFalse(actual.isUnregistering());
    }