mapbox / mapbox/dynamodb-replicator
incremental-snapshot doesnt handle s3 timeouts well
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 131
- Fork
- 46
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
incremental-snapshot.js doesnt seem to handle s3 timeouts very well - leaving a broken (partial, missing, or otherwise) snapshot in it's wake:
bin/incremental-snapshot.js s3://$BackupBucket/$BackupPrefix/$TABLE s3://$BackupBucket/${TABLE}-snapshot
[Tue, 10 Jan 2017 17:12:49 GMT] [info] [incremental-snapshot] Starting snapshot from s3://dsr-ddb-rep-testing/testprefix/showdownlive_gamedata_dev-01 to s3://dsr-ddb-rep-testing/showdownlive_gamedata_dev-01-snapshot
[Tue, 10 Jan 2017 17:12:59 GMT] [info] [incremental-snapshot] Starting upload of part #0, 0 bytes uploaded, 3000 items uploaded @ 297.65 items/s
[Tue, 10 Jan 2017 17:13:06 GMT] [error] [incremental-snapshot] TimeoutError: Connection timed out after 1000ms
at ClientRequest.<anonymous> (/Users/draistrick/git/github/dynamodb-replicator/node_modules/aws-sdk/lib/http/node.js:56:34)
at ClientRequest.g (events.js:286:16)
at emitNone (events.js:86:13)
at ClientRequest.emit (events.js:185:7)
at TLSSocket.emitTimeout (_http_client.js:614:10)
at TLSSocket.g (events.js:286:16)
at emitNone (events.js:91:20)
at TLSSocket.emit (events.js:185:7)
at TLSSocket.Socket._onTimeout (net.js:333:8)
at tryOnTimeout (timers.js:228:11)
message: Connection timed out after 1000ms
code: NetworkingError
region: us-west-2
hostname: dsr-ddb-rep-testing.s3-us-west-2.amazonaws.com
this case also exits 0, instead of with an error...so hard to handle externally
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da bin/incremental-snapshot.js e riproduci il timeout di S3 usando il comando mostrato nell’issue. Traccia come viene segnalato il timeout dopo l’inizio dell’upload di part #0. Il lavoro è completato quando un timeout non può lasciare inosservato uno snapshot parziale e il comando termina con un errore invece che con status 0.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- aws, javascript
- Ambito
- cloud
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100