-
Notifications
You must be signed in to change notification settings - Fork 26
Rework of component requirements related to snapshots #337
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
Open
tizava
wants to merge
8
commits into
eclipse-score:main
Choose a base branch
from
etas-contrib:snapshot-comp-req-rework
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
6f0a23a
Rework of component requirements related to snapshots
tizava 1d92ade
Review findings
tizava c22b5bc
Merge branch 'main' into snapshot-comp-req-rework
tizava fe26304
Add required attributes
tizava cedb55d
Make the API requirements atomic
tizava 57ead8d
Fix problem with long requirement name
tizava 779df9d
Merge branch 'main' into snapshot-comp-req-rework
tizava 68b6f98
Review findings. Reset "inspected` tag and add error handling for APIs
tizava File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -291,29 +291,56 @@ Component Requirements | |
| application to implement versioning, including upgrade and downgrade paths, | ||
| as needed. | ||
|
|
||
| .. comp_req:: Snapshot Creation | ||
| :id: comp_req__kvs__snapshot_creation | ||
| .. comp_req:: Snapshot maximum number | ||
| :id: comp_req__kvs__snapshot_max_num | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :satisfies: feat_req__persistency__snapshot_create | ||
| :satisfies: feat_req__persistency__cfg | ||
| :status: valid | ||
| :belongs_to: comp__persistency_kvs | ||
|
|
||
| The component shall create a snapshot each time data is stored. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. extend by |
||
| The component shall maintain a configurable maximum number of snapshots. The maximum number shall be in the range <0..3>. | ||
| A value of zero means that snapshot operations are disabled, while a non-zero value specifies the maximum number of snapshots. | ||
|
|
||
| .. comp_req:: Snapshot Maximum Number | ||
| :id: comp_req__kvs__snapshot_max_num | ||
| .. comp_req:: Snapshot lifecycle APIs | ||
| :id: comp_req__kvs__snapshot_lifecycle_apis | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :satisfies: feat_req__persistency__cfg | ||
| :status: valid | ||
| :belongs_to: comp__persistency_kvs | ||
| :satisfies: feat_req__persistency__snapshot_create, feat_req__persistency__snapshot_restore, feat_req__persistency__snapshot_remove | ||
| :belongs_to: comp__persistency_snapshot | ||
|
|
||
| The component shall provide APIs to create, restore, and delete snapshots. | ||
|
tizava marked this conversation as resolved.
Outdated
|
||
|
|
||
| The component shall maintain a configurable maximum number of snapshots. | ||
| .. note:: | ||
|
|
||
| A snapshot is a point-in-time, frozen view of all values in a key-value storage. | ||
|
|
||
| .. comp_req:: Explicit snapshot operations | ||
| :id: comp_req__kvs__explicit_snapshot_operations | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :status: valid | ||
| :satisfies: feat_req__persistency__snapshot_create, feat_req__persistency__snapshot_restore, feat_req__persistency__snapshot_remove | ||
| :belongs_to: comp__persistency_snapshot | ||
|
|
||
| .. comp_req:: Snapshot IDs | ||
| The component shall perform snapshot creation, restoration, and deletion only when explicitly triggered by the user through the corresponding snapshot API. | ||
|
|
||
| .. comp_req:: Snapshot slot selection | ||
| :id: comp_req__kvs__snapshot_slot_selection | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :status: valid | ||
| :satisfies: feat_req__persistency__snapshot_create, feat_req__persistency__cfg | ||
| :belongs_to: comp__persistency_snapshot | ||
|
|
||
| The component shall provide the snapshot lifecycle APIs with an argument that selects a dedicated snapshot slot by snapshot index. | ||
|
|
||
| .. comp_req:: Snapshot slot indexing | ||
| :id: comp_req__kvs__snapshot_id | ||
| :reqtype: Functional | ||
| :security: NO | ||
|
|
@@ -322,40 +349,40 @@ Component Requirements | |
| :status: valid | ||
| :belongs_to: comp__persistency_kvs | ||
|
|
||
| The component shall assign the ID 1 to the newest snapshot and shall increment the IDs of older snapshots accordingly. | ||
| The component shall identify snapshot slots by a zero-based index, where the first slot has index 0, the second slot has index 1, and so on. | ||
|
|
||
| .. comp_req:: Snapshot Rotation | ||
| :id: comp_req__kvs__snapshot_rotate | ||
| .. comp_req:: Snapshot create or overwrite | ||
| :id: comp_req__kvs__snapshot_create_or_overwrite | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :satisfies: feat_req__persistency__snapshot_remove, feat_req__persistency__snapshot_restore | ||
| :status: valid | ||
| :belongs_to: comp__persistency_kvs | ||
| :satisfies: feat_req__persistency__snapshot_create | ||
| :belongs_to: comp__persistency_snapshot | ||
|
|
||
| The component shall rotate and delete the oldest snapshot when the maximum number is reached. | ||
| The component shall create a new snapshot in the selected snapshot slot when the slot is empty, or overwrite the existing snapshot when the slot is occupied. | ||
|
|
||
| .. comp_req:: Snapshot Restore | ||
| :id: comp_req__kvs__snapshot_restore | ||
| .. comp_req:: Snapshot data source | ||
| :id: comp_req__kvs__snapshot_source | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :satisfies: feat_req__persistency__snapshot_restore | ||
| :status: valid | ||
| :belongs_to: comp__persistency_kvs | ||
| :satisfies: feat_req__persistency__snapshot_create | ||
| :belongs_to: comp__persistency_snapshot | ||
|
|
||
| The component shall allow restoration of a snapshot by its ID. | ||
| The component shall use the live values that were set by the user, regardless of whether the values were flushed to disk. | ||
|
|
||
| .. comp_req:: Snapshot Deletion | ||
| :id: comp_req__kvs__snapshot_delete | ||
| .. comp_req:: Snapshot slot occupancy query | ||
| :id: comp_req__kvs__snapshot_slot_occupancy_query | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :satisfies: feat_req__persistency__snapshot_remove | ||
| :status: valid | ||
| :belongs_to: comp__persistency_kvs | ||
| :satisfies: feat_req__persistency__snapshot_create, feat_req__persistency__snapshot_remove, feat_req__persistency__cfg | ||
| :belongs_to: comp__persistency_snapshot | ||
|
|
||
| The component shall allow deletion of individual snapshots. | ||
| The component shall provide an API to check whether a slot identified by a snapshot index is occupied. | ||
|
|
||
| .. comp_req:: Engineering Mode | ||
| :id: comp_req__kvs__eng_mode | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of
refactoringexisting requrirements we keep the old ones and mark them as:status: invalid