Domanda

Abbiamo appena aggiunto un'autoupdater nel nostro software e abbiamo ottenuto un rapporto di bug dicendo che l'autoupdate non si sarebbe completato correttamente perché il checksum SHA1 del file scaricato non corrispondeva.Siamo ospitati su Amazon S3...

O c'è qualcosa che non va nel mio codice o qualcosa che non va in S3.

Ho riletto il mio codice per individuare elementi sospetti e ho scritto un semplice script scaricando e controllando il checksum del file scaricato, e in effetti ho ricevuto alcuni errori di tanto in tanto (1 su 40 ieri).Oggi sembra che vada bene.

Hai riscontrato questo tipo di problema?Esiste una sorta di soluzione alternativa?

informazioni aggiuntive:i test sono stati eseguiti in Giappone.

È stato utile?

Soluzione

A parte il periodo di inattività di qualche settimana fa.Nessuno di cui abbia sentito parlare.
Hanno fatto un buon lavoro considerando che l'unica volta che è stato inattivo è stato a causa di un oscuro errore del server che si è diffuso in tutto il cloud.Sono stati molto aperti al riguardo e hanno risolto il problema non appena lo hanno scoperto. (è successo durante un fine settimana, iirc)

Quindi sono abbastanza affidabili.Il mio consiglio è di ricontrollare il codice.E portalo al supporto di Amazon se il problema persiste.

Altri suggerimenti

L'S3 di Amazon occasionalmente fallisce con errori durante i caricamenti o i download, generalmente "500:Errori del server interno".Il tasso di errore è normalmente piuttosto basso, ma può aumentare se il servizio è sottoposto a carichi pesanti.Il tasso di errore non è mai pari allo 0%, quindi anche nel migliore dei casi la richiesta occasionale fallirà.

Stai controllando il codice di risposta HTTP nel tuo aggiornamento automatico?In caso contrario, dovresti verificare che il download sia riuscito (HTTP 200) prima di eseguire un checksum.Idealmente, la tua app dovrebbe ritentare i download non riusciti, perché gli errori temporanei sono una "caratteristica" inevitabile di S3 che i client devono affrontare.

Vale la pena notare che se i tuoi client ricevono 500 errori, probabilmente non ne vedrai alcuna prova nei log del server S3.Sembra che questi errori si verifichino prima che la richiesta raggiunga il componente di registrazione del servizio.

ok, ormai è tutto un po' vecchio, ma è solo un riferimento.Ho appena eseguito la migrazione dei dati di diversi giga di dati da un server EC2 direttamente a s3.Ricevo 500 errori circa ogni 10 minuti circa, che rappresentano un tasso di errore di circa l'1% dei PUT.Quindi sì, S3 ha un problema con 500 errori.

Tuttavia non ho fatto molto in termini di GET, quindi non posso commentare

Sono d'accordo, controllare quattro volte il tuo codice sarebbe una buona idea.Non sto dicendo che non possa succedere, ma non credo di averlo mai visto, e ora ho usato S3 piuttosto bene.Tuttavia, alcune volte ho gestito male eccezioni/interruzioni di connessione e mi sono ritrovato con pezzi che non corrispondevano a ciò che mi aspettavo.

Sarei piuttosto sorpreso se inviassero effettivamente dati errati, ma, come sempre, tutto è possibile.

Mai sentito parlare di problemi durante il download.Quello è strano.Ricevo TONNELLATE di 500 messaggi di errore interno del server durante il caricamento.Ecco perché ho un demone che si carica mentre l'utente sta facendo qualcos'altro.

Non sembra esserci qualcosa nel tuo codice, forse c'è davvero qualcosa che non va con S3 (o con S3->Japan.)

Puoi provare ad avviare un server EC2 ed eseguire il test da lì (il traffico non costerà denaro, quindi usane quanto vuoi!) e vedere se si verificano errori.Se lo fai, allora sei sfortunato e S3 non fa per te :)

Buona fortuna!

Più che inviare dati errati, penso di aver ricevuto un ERROR403.Se provo di nuovo, di solito va bene.

E sono d'accordo:Ho visto molte segnalazioni di persone che parlavano di Amazon completamente inattivo, ma nessuno parlava di un errore "a volte il mio accesso viene rifiutato", quindi immagino che potrebbe esserci un errore da parte mia.Ho appena impostato il registro su Amazon.

Comunque grazie!Seguirò il tuo consiglio e smetterò di incolpare "l'altro ragazzo".

Occasionalmente ricevo errori 404 imprevisti con oggetti GET che fanno parte di un ELENCO precedente ma nuovi nel bucket e altri oggetti vari.errori (es:403 sul mio ID di accesso e chiave segreta), ma niente di catastrofico.

Il mio codice viene eseguito lato server, quindi ho inserito una solida gestione e registrazione degli errori.Penso che questa sia una cosa saggia da fare in qualsiasi momento hai un server in rete che comunica con un altro server.:P

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top