Skip to content

Gh 25 robust dedup - #26

Merged
thomasdarimont merged 3 commits into
mainfrom
gh-25-robust-dedup
Oct 5, 2026
Merged

thomasdarimont merged 3 commits into
mainfrom
gh-25-robust-dedup

Conversation

@thomasdarimont

Copy link
Copy Markdown
Collaborator

SsfJtiDedupStore.claim tells NEW, IN_PROGRESS or PROCESSED; the
processor marks a SET processed after the handlers succeeded and leaves
one another instance is handling for a redelivery, so a handler failure
is no longer masked by the other instance's acknowledgement.
An abandoned claim is taken over after a lease (dedup.lease, 60 s).
The EASYSSF_PROCESSED_SET table gains a STATE column; an old table is
refused with the ALTER statement.

Closes #25

Signed-off-by: Thomas Darimont thomas.darimont@googlemail.com

SsfJtiDedupStore.claim tells NEW, IN_PROGRESS or PROCESSED; the
processor marks a SET processed after the handlers succeeded and leaves
one another instance is handling for a redelivery, so a handler failure
is no longer masked by the other instance's acknowledgement.
An abandoned claim is taken over after a lease (dedup.lease, 60 s).
The EASYSSF_PROCESSED_SET table gains a STATE column; an old table is
refused with the ALTER statement.

Closes #25

Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
Versioned scripts in org/easyssf/receiver/jdbc/migration (Flyway naming,
plain SQL) take an installation from release to release; schema.sql
stays the current schema. prepareTable adds the columns a release
introduced to an existing table where it may create tables, and names
the statements to run otherwise.

Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
Signed-off-by: Thomas Darimont <thomas.darimont@googlemail.com>
@thomasdarimont
thomasdarimont merged commit 7d6420a into main Oct 5, 2026
10 checks passed
@thomasdarimont
thomasdarimont deleted the gh-25-robust-dedup branch October 5, 2026 21:55
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.

Claim a SET while its handlers run, so a second instance does not acknowledge it

1 participant