Front-end behaves poorly when receiving HTTP 429 (Too Many Requests)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- angular, typescript
- Área
- frontend
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 180
- Forks
- 577
- Merge medio
- 1 d 23 h
- PR fusionados (30 d)
- 95
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DSpace/dspace-angular
-
accessibility affects: 10.x affects: main bug ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
DSpace/dspace-angular#6531 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
accessibility affects: 10.x affects: main bug help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
DSpace/dspace-angular#6530 ·
Los mantenedores suelen responder en 1 día
-
Submission Form Allows Deletion of All Repeating Item EntriesPosiblemente ocupada @Rowan-McKereghan la tomó hace 5 días. Abiertoaffects: 8.x affects: 9.x bug component: submission
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
DSpace/dspace-angular#6511 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Visual issues with qualdrop fieldsPosiblemente ocupada @DanGastardelli la tomó hace 15 días. Abiertoaffects: 10.x affects: 9.x bug claimed: Acervos Digitais component: submission Difficulty: Low ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
DSpace/dspace-angular#6412 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Facet headings have incorrect clickable area to expand/collapsePosiblemente ocupada @jesielviana la tomó hace 12 días. Abiertoaccessibility affects: 10.x affects: 8.x affects: 9.x bug ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
DSpace/dspace-angular#6364 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de DSpace/dspace-angular
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
steelbrain/node-ssh#487 ·
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
lingdojo/kana-dojo#34127 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
osmlab/name-suggestion-index#13104 ·
Los mantenedores suelen responder en 1 día