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

TFP-6032: Fjerner IAY-aggregat uten referanser batch task #2638

Merged
merged 15 commits into from
Mar 10, 2025

Conversation

mrsladek
Copy link
Collaborator

@mrsladek mrsladek commented Mar 7, 2025

Batchen kjøres daglig kl. 03.00 og oppretter tasker som sletter IAY-aggregater – og senere også andre aggregater – som ikke lenger refererer til et gr_arbeid_inntekt, da disse blir slettet ved avslutning av koblingen. Det totale antallet IAY-aggregater fordeles på grupper à 250 per task.

@mrsladek mrsladek requested a review from a team as a code owner March 7, 2025 14:33
@github-actions github-actions bot added the web label Mar 7, 2025
Copy link
Collaborator

@jolarsen jolarsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Har du sett på å bruke LIMIT 250 i query ? Da slipper du dra opp så mye data

@mrsladek
Copy link
Collaborator Author

mrsladek commented Mar 7, 2025

Har du sett på å bruke LIMIT 250 i query ? Da slipper du dra opp så mye data

Jeg drar opp kun id til IAY som skal slettes. Så fordeler jeg disse i 250 per prosesstask som skal utføre sletting.

@github-actions github-actions bot added the pom label Mar 7, 2025
@github-actions github-actions bot removed the pom label Mar 7, 2025
@jolarsen
Copy link
Collaborator

jolarsen commented Mar 8, 2025

Jeg drar opp kun id til IAY som skal slettes. Så fordeler jeg disse i 250 per prosesstask som skal utføre sletting.

Poenget var å la DB gjøre det utvalget på 250 som du gjør i Java - slik vi bruker rownum i Oracle-queries i fpsak.
Første gangen du kaller query.getResultlist så har du kanskje en table-scan på 1M rader ...
Så oppretter du kanskje 4000 tasks i en Tx.
Jeg tenkte select first 250 som matcher - slett grunnlag - lag ny task inntil det ikke er noe å slette.

@mrsladek
Copy link
Collaborator Author

mrsladek commented Mar 9, 2025

Poenget var å la DB gjøre det utvalget på 250 som du gjør i Java - slik vi bruker rownum i Oracle-queries i fpsak. Første gangen du kaller query.getResultlist så har du kanskje en table-scan på 1M rader ... Så oppretter du kanskje 4000 tasks i en Tx. Jeg tenkte select first 250 som matcher - slett grunnlag - lag ny task inntil det ikke er noe å slette.

Det er virkelig en god idé! 😊

Copy link
Contributor

@pekern pekern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tror dette blir rett ja 👍


@Override
public void doTask(ProsessTaskData prosessTaskData) {
Set<Integer> iayAggregatUtenReferanse = DefaultJsonMapper.fromJson(prosessTaskData.getPayloadAsString(), Set.class);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hva med å snu denne slik at den begynner med query for å hente de som skal slettes (da blir de kanskje også låst i samme Tx)?
Set slettes = hentIayUtenRef
slett(slettes)
Hvis slettes.size >= MAX_PART_SIZE - lage ny task - ellers ferdig.

Copy link
Collaborator

@jolarsen jolarsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se kommentar om rydde-tasken (begynn med query i stedet for å avslutte med query)
Ellers ser det bra ut!

@mrsladek
Copy link
Collaborator Author

Se kommentar om rydde-tasken (begynn med query i stedet for å avslutte med query) Ellers ser det bra ut!

Tar det med i #2640 - skal ikke starte noe sletting før alt er på plass.

@mrsladek mrsladek merged commit 11cc808 into master Mar 10, 2025
11 of 12 checks passed
@mrsladek mrsladek deleted the feat/TFP-6032_fjerner_ubrukte_iay_aggregat branch March 10, 2025 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants