@Override
    public void handlerDiscoveryUpstreamData(final DiscoverySyncData discoverySyncData) {
        if (Objects.isNull(discoverySyncData) || Objects.isNull(discoverySyncData.getSelectorId())) {
            return;
        }
        List<DiscoveryUpstreamData> upstreamList = discoverySyncData.getUpstreamDataList();
        UpstreamCacheManager.getInstance().submit(discoverySyncData.getSelectorId(), convertUpstreamList(upstreamList));
        // the update is also need to clean, but there is no way to
        // distinguish between crate and update, so it is always clean
        MetaDataCache.getInstance().clean();
    }
@Test
    public void handlerDiscoveryUpstreamDataTest() {
        divideUpstreamDataHandler.handlerDiscoveryUpstreamData(discoverySyncData);
        List<Upstream> result = UpstreamCacheManager.getInstance().findUpstreamListBySelectorId("handler");
        assertEquals(discoverySyncData.getUpstreamDataList().get(0).getUrl(), result.get(0).getUrl());
        DiscoverySyncData discoverySyncData = new DiscoverySyncData();
        discoverySyncData.setSelectorId(null);
        divideUpstreamDataHandler.handlerDiscoveryUpstreamData(discoverySyncData);
    }