ember-fastboot / ember-fastboot/fastboot-s3-notifier

Intermittent error handling in poll

Open
#13 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
9
Forks
17
PR merge metrics
No merged PRs in 30d

Description

We've been getting a following message running this package in production:

```
Forbidden [no error message]
node_modules/aws-sdk/lib/services/s3.js:557:35 Request.extractError
node_modules/aws-sdk/lib/sequential_executor.js:105:20 Request.callListeners
node_modules/aws-sdk/lib/sequential_executor.js:77:10 Request.emit
node_modules/aws-sdk/lib/request.js:683:14 Request.emit
node_modules/aws-sdk/lib/request.js:22:10 Request.transition
node_modules/aws-sdk/lib/state_machine.js:14:12 AcceptorStateMachine.runTo
node_modules/aws-sdk/lib/state_machine.js:26:10
node_modules/aws-sdk/lib/request.js:38:9 Request.
node_modules/aws-sdk/lib/request.js:685:12 Request.
node_modules/aws-sdk/lib/sequential_executor.js:115:18 Request.callListeners
```

It seems to be very flaky. Usually it starts to appear after fastboot has been running for a while with no restarts. I suspect it could be due to some network issues.

However, looking at the current poll code:

https://github.com/ember-fastboot/fastboot-s3-notifier/blob/6dafdf1d5a05ca878cc4008c7a377cc3ea7cb524/index.js#L49-L55

It does not seem like errors are handled. So if `headObject` fails the notifier will stop the polling, effectively preventing future retries. This causes app to not update even if new version is deployed.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading index.js around lines 49-55, focusing on the poll's headObject call and how its failure affects later polling. Confirm the existing behavior with an intermittent or simulated S3 error, then verify that polling continues and can detect a newly deployed version after a failed request.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, javascript
Domain
backend, cloud
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.