You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GC goes to replicas to check if a SENT bucket can be deleted. But
it can happen that this call via netbox was faster than the
replication. Some replicas still can have the bucket SENDING. So,
GC tries to sync with replicas before checking the state of buckets.
However, wait_lsn function, which is used in GC and vshard.storage.sync()
tried to sync with all replicas in the current replicaset, without
considering vshard config. In case some CDC is connected as
non-anonymous replica, GC process failed.
Let's make wait_lsn function consider vshard config. It must sync
only with instances, which were explicitly passed to the config
and which we know to be vshard storages.
However, it's not always possible to figure out from the
box.info.replication, whether the instance is vshard storage. This
happens, e.g. when named identification is used, but names have
not been set yet and UUID have not been passed to configuration.
In such case we fallback to the old behavior and anyway check
the downstream of such replica, even if we're not sure, that
instance is in our configuration.
Closes#490
NO_DOC=bugfix
0 commit comments