-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Some merges may stuck #10368
Copy link
Copy link
Closed
Labels
bugConfirmed user-visible misbehaviour in official releaseConfirmed user-visible misbehaviour in official releasecomp-replicationReplicatedMergeTree* + replication log/state transitions, eventual consistency mechanics.ReplicatedMergeTree* + replication log/state transitions, eventual consistency mechanics.
Description
This bug is discovered on Yandex.Metrica servers.
If there is assigned merge but some parts in between of the range of parts to merge get lost on all replicas, the merge cannot proceed and the following messages will be printed in log:
Executing log entry to merge parts ...
Don't have all parts for merge ...; will try to fetch it instead
No active replica has part ...
Checking part ...
Checking if anyone has a part covering ...
Found parts with the same min block and with the same max block as the missing part ... Hoping that it will eventually appear as a result of a merge.
And in system.replication_log you will see the following entries:
Not executing log entry for part ... because it is covered by part ... that is currently executing
No active replica has part ... or covering part
Actually this logic exists as a safety measure when automated action is not possible: #1251
And it's unclear how to fix it in code.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugConfirmed user-visible misbehaviour in official releaseConfirmed user-visible misbehaviour in official releasecomp-replicationReplicatedMergeTree* + replication log/state transitions, eventual consistency mechanics.ReplicatedMergeTree* + replication log/state transitions, eventual consistency mechanics.