ember-fastboot / ember-fastboot/fastboot-s3-notifier
Intermittent error handling in poll
- 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