Front-end behaves poorly when receiving HTTP 429 (Too Many Requests)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- angular, typescript
- Domain
- frontend
Research direction
The payload names no source files. Start by finding the existing HttpInterceptor implementations in the Angular app and how they handle error responses, then check where a 429 is currently treated as a hard failure. The expected behavior is a retry that honors Retry-After (falling back to X-Rate-Limit) and eventually completes the page's requests. Done means a test shows a 429 being retried with the delay and the page finishing, and the maintainers have agreed on where the backoff logic belongs.
Written by the indexing model from the issue text.
Description
Describe the bug
To deal with aggressive bots, we tried adding a request-rate-limiting module (mod-evasive) to our Apache HTTPD. DSpace's behavior was worse and we backed out the change. It appears that DSpace's front end code treats HTTP 429 as a hard error and gives up, resulting in incomplete pages or perpetual marching-dots.
We were using v7.6.
To Reproduce
Steps to reproduce the behavior:
- Set up a rate limiting module in HTTPD, such as mod_evasive. Set a fairly low limit.
- Go to a page that makes a large number of requests.
Expected behavior
DSpace should back off and retry when it receives a 429 response, using the related headers (Retry-After, X-Rate-Limit) to set the backoff interval.
I note that we already have several HttpInterceptor implementations. This is a suggested method of adding backoff-and-retry, to ensure that all requests are handled and in the same way.
- Dominant language
- TypeScript
- Stars
- 180
- Forks
- 577
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 100
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
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 DSpace/dspace-angular
-
accessibility affects: 10.x affects: main bug ux
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DSpace/dspace-angular#6531 · 1 comment ·
Maintainers usually reply within 1 day
-
accessibility affects: 10.x affects: main bug help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
DSpace/dspace-angular#6530 ·
Maintainers usually reply within 1 day
-
Submission Form Allows Deletion of All Repeating Item EntriesPossibly taken @Rowan-McKereghan claimed this 5 days ago. Openaffects: 8.x affects: 9.x bug component: submission
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DSpace/dspace-angular#6511 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Visual issues with qualdrop fieldsPossibly taken @DanGastardelli claimed this 15 days ago. Openaffects: 10.x affects: 9.x bug claimed: Acervos Digitais component: submission Difficulty: Low ux
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
DSpace/dspace-angular#6412 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Facet headings have incorrect clickable area to expand/collapsePossibly taken @jesielviana claimed this 12 days ago. Openaccessibility affects: 10.x affects: 8.x affects: 9.x bug ux
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DSpace/dspace-angular#6364 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in DSpace/dspace-angular
Similar issues
-
bug parity
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
WenyuChiou/agent-board#1489 ·
Maintainers usually reply within 1 day
-
area: bazaar bug complexity: medium
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
accensa/x402-facilitator-stellar#779 ·
Maintainers usually reply within 1 day
-
bug good first issue P4 size:S web-ui
Difficulty 2/5 Half a day Newbie friendliness 85/100
josephfung/curia#2600 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
cloudflare/partykit#444 ·