incremental-snapshot doesnt handle s3 timeouts well
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- aws, javascript
- Domain
- cloud
Research direction
Start with bin/incremental-snapshot.js and reproduce the S3 timeout using the command shown in the issue. Trace how the timeout is reported after part #0 begins uploading. Done means a timeout cannot leave a partial snapshot unnoticed and the command exits with an error instead of status 0.
Written by the indexing model from the issue text.
Description
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
- Dominant language
- JavaScript
- Stars
- 131
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from mapbox/dynamodb-replicator
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
mapbox/dynamodb-replicator#109 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 48/100
mapbox/dynamodb-replicator#107 ·
-
Not usable toolOpen
Difficulty 5/5 Over a week Newbie friendliness 25/100
mapbox/dynamodb-replicator#105 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
mapbox/dynamodb-replicator#104 ·
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
mapbox/dynamodb-replicator#101 · 1 comment ·
All issues in mapbox/dynamodb-replicator
Similar issues
-
curriculum documentation quality
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
githubnext/gh-aw-workshop#3897 ·
Maintainers usually reply within 2 days
-
agent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
Maintainers usually reply within 1 day
-
check:failed feeds:add
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
iptv-org/database#36179 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day