Skip to content

Commit

Permalink
feat(STONEINTG-961): remove composite snapshots from adrs
Browse files Browse the repository at this point in the history
Signed-off-by: Jiri Sztuka <[email protected]>
  • Loading branch information
jsztuka committed Jul 11, 2024
1 parent 968973a commit 58a9e3f
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
7 changes: 6 additions & 1 deletion ADR/0037-integration-service-promotes-to-GCL-immediately.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Supersedes:
- [ADR 15. The Two-phase Architecture of the Integration Service](0015-integration-service-two-phase-architecture.html)
- [ADR 16. Integration Service Promotion Logic](0016-integration-service-promotion-logic.html)

Superseded by:

- [ADR 38. Integration service removes composite snapshots and logic around them](0038-integration-service-composite-removal.html)

## Context

In the initial implementation of the Integration Service, when a single component image is built, the
Expand All @@ -20,7 +24,8 @@ that was newly built is updated/overwritten to complete the Snapshot creation.
The Global Candidate List for the newly built component would only be updated once all required integration tests
for the created Snapshot have passed successfully.
See more about this in [ADR 16. Integration Service Promotion Logic](0016-integration-service-promotion-logic.html) and
[ADR 15. The Two-phase Architecture of the Integration Service](0015-integration-service-two-phase-architecture.html).
[ADR 15. The Two-phase Architecture of the Integration Service](0015-integration-service-two-phase-architecture.html) and
[ADR 38. Integration service removes composite snapshots and logic around them](0038-integration-service-composite-removal.html).

This logic created issues for the end users, especially in cases where older components would start failing
Enterprise Contract checks as new rules/policies get introduced. This led to Global Candidate List deadlocks where
Expand Down
31 changes: 31 additions & 0 deletions ADR/0038-integration-service-composite-removal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 38. Integration service removes composite snapshots and logic around them

* Date started: 2024-07-10

## Status


## Context

Composite snapshots main goal was to prevent race condition when teams merged multiple PRs to multiple components
of the same application at nearly the same time. This concept was confusing for users and we managed to simplify it
by immediate promotion to GCL using override snapshots. Users also ran into the issue with GCL deadlock. This was
caused by multiple components present in GCL causing tests for a new component fail if they were bundled into a snapshot.
This deadlock prevented the relase of new version of the application.


## Decision

Introduction of override snapshots should prevent this race condition and GCL deadlock with much simpler concept to understand,
basically replacing the composite snapshots logic.
This decision led to removing of all logic regarding composite snapshots within integration-service codebase.

## Consequences

* Removal of code connected to composite snapshots

## Footnotes

The new promotion logic will be implemented as part of the STONEINTG-83 epic.
This document is created for posterity and visibility.

0 comments on commit 58a9e3f

Please sign in to comment.