Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process history er ikke nødvendigvis oppdatert når skjemaprosess er ferdig (complete) #530

Closed
andersrodahl-brreg opened this issue Oct 15, 2024 · 2 comments
Labels
kind/feature-request New feature or request

Comments

@andersrodahl-brreg
Copy link

Description

Observert i tilknytning til følgende app (men det samme gjelder sannsynligvis for alle apper):
brg/rrh-innrapportering

Endepunkt som brukes for å hente processHistory (eksempel fra TT02):
https://brg.apps.tt02.altinn.no/brg/rrh-innrapportering/instances/50121548/f2209120-b6e3-4160-9b6d-aec4c7a9d16a/process/history

Beskrivelse:

Register over reelle rettighetshavere dokumenterer hvem som har fylt ut / signert / sendt inn et skjema ved å hente processHistory for instansen og lagre det i et saksgrunnlag på vår side.
Dette gjør vi rett etter at vi har hentet ned instanser med status "complete" fra Storage API'et.
I produksjon har vi observert at vi ved flere anledninger henter processHistory som ikke inneholder komplett informasjon. Vi mangler feks det siste prosessteget "BREnd" som er det viktigste steget da det indikerer hvem som har signert/sendt inn skjemaet.
Dette skjer mest sannsynlig pga en "race condition" i Altinn der oppdatering av processHistory / instance events(?) har lavere prioritet, og ikke er oppdatert selv om selve skjemaet har status "complete".

Hadde en dialog med Alexandra Vedeler som igjen sjekket litt med core teamet, og hun/de beskrev følgende:
De instansene man får tilbake med flagget isComplete skal alle være avsluttet (Instance.Process.Ended), men:
"Logging til InstanceEvents skjer normalt synkront mot databasen i sammenheng med andre operasjoner, men InstanceEvents er ikke viktige nok til å kunne hindre andre operasjoner om det mot formodning skulle skje en feil. Derfor er det mulig å ha Instances med små hull i historikken."

Hvis processHistory skal ha noen form for verdi må vi være sikre på at når et skjema har utført det siste prosessteget, og har status "complete" må vi kunne være sikre på at også processHistory er oppdatert.
Det kan evt løses ved at instanser ikke skal ha status "complete" før også processHistory er endelig oppdatert.
Men samtidig må vi ikke risikere at instanser aldri blir "complete" pga et eller annet problem med å få oppdatert processHistory.

Additional Information

No response

@andersrodahl-brreg andersrodahl-brreg added the kind/feature-request New feature or request label Oct 15, 2024
@olebhansen
Copy link

As pointed out in the description, the fundamental issue is that InstanceEvents is by design non-blocking.

Working on clarifying if/how this can be changed withouth introducing bigger problems.

@olebhansen
Copy link

Closing. Will be resolved by #544

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature-request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants