public void subscriberDeregister(String serviceName, String groupName, String cluster) {
        String key = ServiceInfo.getKey(NamingUtils.getGroupedName(serviceName, groupName), cluster);
        synchronized (subscribes) {
            SubscriberRedoData redoData = subscribes.get(key);
            if (null != redoData) {
                redoData.setUnregistering(true);
                redoData.setExpectedRegistered(false);
            }
        }
    }
@Test
    void testSubscriberDeregister() {
        ConcurrentMap<String, SubscriberRedoData> subscribes = getSubscriberRedoDataMap();
        redoService.cacheSubscriberForRedo(SERVICE, GROUP, CLUSTER);
        redoService.subscriberDeregister(SERVICE, GROUP, CLUSTER);
        SubscriberRedoData actual = subscribes.entrySet().iterator().next().getValue();
        assertTrue(actual.isUnregistering());
    }