Altinn / Altinn/app-frontend-react
Suboptimal oppførsel ved levering av undersøkelse under høy last på systemet
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 33
- Avg merge
- 6d 23h
- Merged PRs (30d)
- 3
Description
### Description of the bug
Dersom systemet overbelastes og det feiler ved levering av undersøkelse på grunn av overbelastning, så er det ikke optimal håndtering av denne situasjonen.
Ved høy last (eksempelvis tilsvarende trykk 40.000 / 1 time, eller 6666/10minutter) feiler det for enkelte ved levering: "_Ja, jeg er ferdig_"-knappen blir slik den skal grået ut med en spinner over, men ingenting skjer deretter: Knappen blir stående grå å spinne, og ingenting blir levert. Ventet til lenge etter den høye trafikken ga seg, og den ble stående, og sjekk i mottak viste at eleven ikke hadde levert.
Deretter, dersom bruker frisker opp siden, blir lever-knappen aktiv, og bruker kan deretter klikke lever, og den kan da gå OK. Så en oppmerksom bruker kan komme rundt dette, og få levert, men faren er at flere elever i en slik situasjon vil anta at "_det sikkert gikk greit_", og logge ut eller ikke gjøre noe mer, og at det potensielt ikke blir meldt fra til support om dette, og undersøkelse heller ikke blir levert.
En bedre oppførsel i en slik situasjon hvis levering først skal feile, kan være at det vises en feilmelding om at "_Besvarelsen kunne ikke leveres, vent 1 minutt og forsøk lever-knapp igjen_". Det er ikke gitt at en elev frisker opp siden for å klikke lever på nytt om noe sånt her skjer.
Merk at dette altså er ved høy last der responstider i systemet trolig er 10+ sekunder . Så det er snakk om hvordan systemet oppfører seg ved overbelastning.
-------
Ved nærmere undersøkelse av nettverksloggen i nettleseren så viser det seg at i tilfeller dette oppstår så dukker ikke PUT-request mot "/process/next" opp i det hele tatt ved klikk på "Ja, jeg er ferdig" (Se vedlagt video) på "additional information"
Da er det kanskje noe feil i modellen? Og feilmeldingen kan gis på et tidligere tidspunkt? Har ikke sett nærmere på dette.
### Steps To Reproduce
Kjør en hard ytelsestest på systemet, med for eksempel et trykk på 10k elever i løpet av 15 minutter som gjennomfører. Logg samtidig manuelt inn i nettleser og klikk på siste lever-kallet. Det er ikke konsekvent at dette skjer, så forvent å kanskje måtte forsøke et par ganger..
Ta kontakt for bistand til å starte en ytelsestest samtidig, og/eller testdata for innlogging.
### Additional Information
Videorecording av skjerm.
I tilfeller der det fungerer OK så dukker PUT-kall opp ved klikk på grønn "Ja jeg er ferdig knapp", men som video viser dukker ikke det opp her ved høy belastning:
https://github.com/user-attachments/assets/7f45642a-0de9-4bb3-81a7-0132c2776684
(Her er video klippet, men ingenting skjer...)
Contributor guide
Research direction
Start by reproducing the issue under the described high-load test while monitoring the browser network log, focusing on the final delivery action and the missing PUT request to /process/next. Compare a successful submission with the stuck spinner case and trace the delivery flow from the “Ja, jeg er ferdig” button. Done means a failed delivery is surfaced to the user with a clear retry path and does not remain indefinitely stuck.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100