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

WIP forslag til workaround #800

Closed
wants to merge 2 commits into from
Closed

Conversation

kenglxn
Copy link
Contributor

@kenglxn kenglxn commented Dec 5, 2024

Som jeg skriver i koden så er det en caveat her at vi ikke vet at grunnen til at vi hopper over er at det har vært en softdelete.
Det kan i teorien åpne opp for at vi hopper over statuser hvor det er andre underliggende feil som gjør at saken ikke finnes. Ganske sikker på at dette er mer teoretisk mulighet enn et reelt problem. Uansett en risiko man påtar seg ved å løse det på denne måten.

Edit:
En alternativ løsning kan være å utvide "HardDeleteRepository" til å også håndtere SoftDeletes. Og kanskje gi den et annet navn (e.g. DeleteRepository). Dermed blir eneste endring på hard og soft delete at det faktisk tombstones hendelser på kafka. Er nok ikke så mye mer jobb enn det som ligger på denne PR, og så er det mye tryggere mtp caveat over.

--

På lang sikt må vi gjøre noe med Soft og Hard delete. Forskjellen mellom disse fortsetter å skape problemer.
De to beste alternativene i mitt hode er som følger:

  1. fjerne softdelete til fordel for harddelete.
    1. I praksis endre tolkning av SoftDelete eventet til å bety det samme som hard delete og fjerne det som egen mutasjon.
    2. Krever at vi snakker med team som bruker softdelete og får dem med på løsningen.
  2. aligne soft delete og hard delete slik at de fungerer likt med unntak av tombstones på kafka
    1. samme mekanismer for cascade delte og holde styr på hva som er slettet (re harddeleterepo)
    2. dersom vi går for denne må vi
      1. ha tydelig for oss hvorfor softdelete bør brukes, forstå selv når det gir mening å bruke den
      2. dokumentere tydelig når softdelete gir mening, og når harddelete gir mening. Forskjellene på dem osv.

Test som reproduserer feilen:

"Fiks":

@kenglxn
Copy link
Contributor Author

kenglxn commented Dec 18, 2024

Vi besluttet å holde styr på soft delete på samme måte som hard delete, og lukker derfor denne

@kenglxn kenglxn closed this Dec 18, 2024
@kenglxn kenglxn deleted the soft_delete_sak_idempotens_bugfix branch December 18, 2024 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant