diff --git a/CHANGELOG.rst b/CHANGELOG.rst index acbcca21c..c804be224 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -24,6 +24,8 @@ Changed - Update ``membership`` dependency to `2.4.6 `_. +- Expelled instances are now marked as ``left`` in ``membership``. + ------------------------------------------------------------------------------- [2.13.0] - 2024-11-28 ------------------------------------------------------------------------------- diff --git a/cartridge/confapplier.lua b/cartridge/confapplier.lua index a8e0b4570..c74c3d957 100644 --- a/cartridge/confapplier.lua +++ b/cartridge/confapplier.lua @@ -12,10 +12,10 @@ local yaml = require('yaml').new() local fiber = require('fiber') local errors = require('errors') local checks = require('checks') -local membership = require('membership') local uri_tools = require('uri') local socket = require('socket') local json = require('json') +local membership = require('membership') local vars = require('cartridge.vars').new('cartridge.confapplier') local pool = require('cartridge.pool') @@ -292,6 +292,7 @@ local function apply_config(clusterwide_config) if failover.is_leader() then for _, uuid, _ in fun.filter(topology.expelled, topology_cfg.servers) do box.space._cluster.index.uuid:delete(uuid) + membership.mark_left(topology_cfg.servers[uuid].uri) end end