Closed zhoudingyun closed 3 years ago
The code pasted above should be used with Vert.x 4 only. It can't be working with 3.9.
Can you confirm which version you are using?
The code is Vertx 4,but Vertx 4 and Vertx 3 have the same problem.
The Ignite node use client mode, causing the Map in the NodeSelectors object to fail to empty. So EventBus gets the node information offline.
---Original--- From: "Thomas Segismont"<notifications@github.com> Date: Wed, Sep 30, 2020 21:58 PM To: "vert-x3/vertx-ignite"<vertx-ignite@noreply.github.com>; Cc: "Manual"<manual@noreply.github.com>;"zhoudingyun"<2443548884@qq.com>; Subject: Re: [vert-x3/vertx-ignite] When the ignite node exits the cluster, the event bus message sending fails. (#92)
The code pasted above should be used with Vert.x 4 only. It can't be working with 3.9.
Can you confirm which version you are using?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Version 3.9.x plus latest releases Ignite 2.7.0
Context When the ignite node exits the cluster, the event bus message sending fails.
Code package io.vertx.core.spi.cluster.impl.selector;
import io.vertx.core.Promise; import io.vertx.core.eventbus.Message; import io.vertx.core.spi.cluster.ClusterManager; import io.vertx.core.spi.cluster.RegistrationInfo;
import java.util.Collections; import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.function.BiConsumer;
import static java.util.stream.Collectors.toList;
/**
@author Thomas Segismont */ public class Selectors {
private final ConcurrentMap<String, SelectorEntry> map = new ConcurrentHashMap<>(0); private final ClusterManager clusterManager;
the map caches node information, so when the ignote node exits the cluster, the map cache should be cleared.