In meiner Produktionsumgebung haben wir das gehabt, was wir glauben korrupter speicherbarer Hash, erstellt von Storable.pm. Ich bin nicht in der Lage, das Verhalten in Dev zu replizieren, was es schwierig gemacht hat, genau zu diagnostizieren.
Der Code hat lange gearbeitet, und die Änderung, die es gemacht hat Pause löschte aus dem Hash. Bis vor kurzem auch das Hash blieb gleich groß oder wuchs.
Die Datei wird in readwrite geöffnet, und dann schreibt store_fd in die Datei. Da der Hash jetzt (manchmal) kleiner ist, wird er 1000 Byte schreiben diese 2000-Byte-Datei. Die Tail-1000-Bytes sind alte Mülldaten. In meinem Testfälle, wenn ich den Hash abrufen, werden die Mülldaten ignoriert, als erwartet.
%Vor%Meine Fragen:
Ich weiß nicht, wie gut Storable
mit nachkommendem Müll umgehen kann, aber es kann nicht schaden,
nach dem Aufruf von store_fd
, beseitigt alle Zweifel darüber, ob es jetzt und in Zukunft damit umgehen kann.
Entschuldigung, ich dachte, ich hätte das aktualisiert.
Ich habe Perl5-Träger gefragt und Antworten auf die Frage bekommen.
Ich habe das Update nicht implementiert, da ich es nicht im Test replizieren kann, also möchte ich nicht zu meiner Produktionsumgebung wechseln, meine Arbeit ist im Moment sicherer.
Das Abschneiden ist definitiv eine gute Idee, basierend auf den Antworten von perl5-porters.
Ich wusste nicht, dass jemand eine Frage zu meiner Frage gestellt hat (oder könnte!).