Det er ikke almindeligt at se denne slags problemer, men jeg har set det forekomme sporadisk.
Den bedste afhjælpende handling at tage her er at trappe ned den primære af det refererede TO-shard, som vil fjerne baggrundssletninger. Slettetrådene findes kun på den aktuelle primære (de vil blive replikeret fra den primære via oplog
efterhånden som de behandles). Når du trapper den ned, bliver den en sekundær, trådene kan ikke længere skrive, og du får en ny primær uden afventende sletninger. Du ønsker måske at genstarte den tidligere primære efter trin ned for at rydde gamle markører ud, men det er normalt ikke presserende.
Når du gør dette, vil du stå tilbage med et stort antal forældreløse dokumenter, som kan være adresser med cleanUpOrphaned
kommando
som jeg vil anbefale at køre på tidspunkter med lav trafik (hvis du har sådanne tider).
Til reference, hvis dette er et tilbagevendende problem, så er det sandsynligt, at primærvalgene kæmper lidt med hensyn til belastning, og for at undgå køen af sletninger kan du indstille _waitForDelete
mulighed
for balanceren til sand (falsk som standard) som følger:
use config
db.settings.update(
{ "_id" : "balancer" },
{ $set : { "_waitForDelete" : true } },
{ upsert : true }
)
Dette vil betyde, at hver migrering er langsommere (måske betydeligt), men vil ikke få baggrundssletninger til at akkumulere.