Frage

Wir haben gerade einen autoupdater in unserer Software hinzugefügt und einen Fehlerbericht erhalten, in dem er mitteilte, dass das Autoupdate nicht ordnungsgemäß abgeschlossen würde, da die SHA1 -Prüfsumme der heruntergeladenen Datei nicht übereinstimmte.Wir werden auf Amazon S3 gehostet...

Entweder stimmt etwas mit meinem Code nicht oder mit S3 stimmt etwas nicht.

Ich habe meinen Code noch einmal auf verdächtige Dinge überprüft und ein einfaches Skript geschrieben, das die heruntergeladene Datei herunterlädt und deren Prüfsumme überprüft. Dabei sind tatsächlich hin und wieder ein paar Fehler aufgetreten (1 von 40 gestern).Heute scheint es in Ordnung zu sein.

Hatten Sie solche Probleme?Gibt es eine Art Workaround?

Zusatzinformation:Tests wurden in Japan durchgeführt.

War es hilfreich?

Lösung

Abgesehen von der Ausfallzeit vor ein paar Wochen.Keines, von dem ich gehört habe.
Sie haben gute Arbeit geleistet, wenn man bedenkt, dass der einzige Ausfall auf einen obskuren Serverfehler zurückzuführen war, der sich in der gesamten Cloud ausbreitete.Sie gingen sehr offen damit um und lösten das Problem, sobald sie es herausfanden. (Es geschah an einem Wochenende, iirc)

Sie sind also ziemlich zuverlässig.Mein Rat ist, Ihren Code noch einmal zu überprüfen.Und wenden Sie sich an den Amazon-Support, wenn das Problem weiterhin besteht.

Andere Tipps

Amazons S3 schlägt gelegentlich mit Fehlern beim Hoch- oder Herunterladen fehl – ​​im Allgemeinen „500:„Interner Server“-Fehler.Die Fehlerquote ist normalerweise recht niedrig, sie kann jedoch ansteigen, wenn der Dienst stark ausgelastet ist.Die Fehlerquote liegt nie bei 0 %, sodass selbst in den besten Zeiten gelegentlich eine Anfrage fehlschlägt.

Überprüfen Sie den HTTP-Antwortcode in Ihrem Autoupdater?Wenn nicht, sollten Sie überprüfen, ob Ihr Download erfolgreich war (HTTP 200), bevor Sie eine Prüfsumme durchführen.Im Idealfall sollte Ihre App fehlgeschlagene Downloads wiederholen, da vorübergehende Fehler ein unvermeidbares „Feature“ von S3 sind, mit dem sich Clients befassen müssen.

Es ist erwähnenswert, dass Sie in den S3-Serverprotokollen wahrscheinlich keine Hinweise darauf sehen werden, wenn Ihre Clients 500 Fehler erhalten.Diese Fehler scheinen aufzutreten, bevor die Anforderung die Protokollierungskomponente des Dienstes erreicht.

Ok, das ist jetzt alles etwas alt, aber als Referenz.Ich habe gerade die Datenmigration mehrerer Datenmengen von einem EC2-Server direkt in s3 durchgeführt.Ich erhalte etwa alle 10 Minuten 500 Fehler, was einer Fehlerrate von etwa 1 % der PUTs entspricht.Also ja, S3 hat ein Problem mit 500 Fehlern.

Ich habe jedoch nicht viel in Bezug auf GETs getan, daher kann ich dazu keinen Kommentar abgeben

Ich stimme zu, eine Vierfachprüfung Ihres Codes wäre eine gute Idee.Ich sage nicht, dass es nicht passieren kann, aber ich glaube nicht, dass ich es jemals gesehen habe, und ich habe S3 mittlerweile ziemlich gut verwendet.Ich habe jedoch ein paar Mal Ausnahmen/Verbindungsunterbrechungen falsch verwaltet und am Ende Teile gefunden, die nicht meinen Erwartungen entsprachen.

Es würde mich ziemlich wundern, wenn sie tatsächlich schlechte Daten senden würden, aber wie immer ist alles möglich.

Ich habe noch nie von einem Problem beim Download gehört.Das ist seltsam.Ich erhalte beim Hochladen MENGEN von 500 internen Serverfehlermeldungen.Deshalb habe ich einen Daemon, der hochlädt, während der Benutzer etwas anderes tut.

Es scheint nichts in Ihrem Code zu sein, vielleicht stimmt wirklich etwas mit S3 (oder mit S3->Japan) nicht.

Sie können versuchen, einen EC2-Server zu starten, den Test einfach von dort aus ausführen (der Datenverkehr kostet kein Geld, nutzen Sie also so viel, wie Sie möchten!) und prüfen Sie, ob Fehler auftreten.Wenn ja, dann hast du Pech gehabt und S3 ist nichts für dich :)

Viel Glück!

Ich glaube, ich habe nicht nur fehlerhafte Daten gesendet, sondern auch den Fehler ERROR403 erhalten.Wenn ich es einfach noch einmal versuche, ist es normalerweise in Ordnung.

Und ich stimme zu :Ich habe viele Berichte über Leute gesehen, die darüber sprachen, dass Amazon völlig ausgefallen sei, aber niemand sprach von einem „Manchmal wird mein Zugriff verweigert“-Fehler, also vermute ich, dass es einen Fehler auf meiner Seite geben könnte.Ich habe gerade das Protokoll bei Amazon eingerichtet.

Trotzdem danke!Ich werde Ihrem Rat folgen und aufhören, „dem anderen“ die Schuld zu geben.

Gelegentlich erhalte ich unerwartete 404-Fehler bei GETs-Objekten, die Teil einer vorherigen LISTE, aber neu im Bucket sind, und anderen Sonstiges.Fehler (z. B.:403 auf meiner Zugangs-ID und meinem geheimen Schlüssel), aber nichts Katastrophales.

Da mein Code serverseitig ausgeführt wird, habe ich eine robuste Fehlerbehandlung und -protokollierung eingebaut.Ich denke, das ist eine kluge Entscheidung jederzeit Sie haben einen Server im Netz, der mit einem anderen Server kommuniziert.:P

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top