@Override
    public boolean syncData(DistroData data, String targetServer) {
        if (isNoExistTarget(targetServer)) {
            return true;
        }
        DistroDataRequest request = new DistroDataRequest(data, data.getType());
        Member member = memberManager.find(targetServer);
        if (checkTargetServerStatusUnhealthy(member)) {
            Loggers.DISTRO
                    .warn("[DISTRO] Cancel distro sync caused by target server {} unhealthy, key: {}", targetServer,
                            data.getDistroKey());
            return false;
        }
        try {
            Response response = clusterRpcClientProxy.sendRequest(member, request);
            return checkResponse(response);
        } catch (NacosException e) {
            Loggers.DISTRO.error("[DISTRO-FAILED] Sync distro data failed! key: {}", data.getDistroKey(), e);
        }
        return false;
    }
@Test
    void testSyncDataWithCallbackException() throws NacosException {
        when(memberManager.hasMember(member.getAddress())).thenReturn(true);
        when(memberManager.find(member.getAddress())).thenReturn(member);
        member.setState(NodeState.UP);
        when(clusterRpcClientProxy.isRunning(member)).thenReturn(true);
        doThrow(new NacosException()).when(clusterRpcClientProxy).asyncRequest(eq(member), any(), any());
        transportAgent.syncData(new DistroData(), member.getAddress(), distroCallback);
        verify(distroCallback).onFailed(any(NacosException.class));
    }