Skip to content

feat: Add metadata for raft data#670

Merged
gtema merged 1 commit into
mainfrom
raft
Apr 20, 2026
Merged

feat: Add metadata for raft data#670
gtema merged 1 commit into
mainfrom
raft

Conversation

@gtema
Copy link
Copy Markdown
Collaborator

@gtema gtema commented Apr 18, 2026

When we write/read to the DS we may need metadata (creation time,
revision, etc). This is also necessary for the data encryption. It also
allows to implement checks for modification operations (expect revision
number).

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 19, 2026

🦢 Load Test Results

Goose Attack Report

Plan Overview

Action Started Stopped Elapsed Users
Increasing 26-04-19 14:34:27 26-04-19 14:34:29 00:00:02 0 → 4
Maintaining 26-04-19 14:34:29 26-04-19 14:35:00 00:00:31 4
Decreasing 26-04-19 14:35:00 26-04-19 14:35:00 00:00:00 0 ← 4

Request Metrics

Method Name # Requests # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
GET 7066 0 16.50 9 41 235.53 0.00
Aggregated 7066 0 16.50 9 41 235.53 0.00

Response Time Metrics

Method Name 50%ile (ms) 60%ile (ms) 70%ile (ms) 80%ile (ms) 90%ile (ms) 95%ile (ms) 99%ile (ms) 100%ile (ms)
GET 14 15 21 22 23 24 26 41
Aggregated 14 15 21 22 23 24 26 41

Status Code Metrics

Method Name Status Codes
GET 7,066 [200]
Aggregated 7,066 [200]

Transaction Metrics

Transaction # Times Run # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
ListUsers
0.0 0 0 0.00 0 0 0.00 0.00
0.1 4478 0 12.93 9 22 149.27 0.00
ValidateToken
1.0 0 0 0.00 0 0 0.00 0.00
1.1 2588 0 22.76 18 41 86.27 0.00
Aggregated 7066 0 16.50 9 41 235.53 0.00

Scenario Metrics

Transaction # Users # Times Run Average (ms) Min (ms) Max (ms) Scenarios/s Iterations
ListUsers 2 4476 12.93 9 22 149.20 2238.00
ValidateToken 2 2586 22.77 18 41 86.20 1293.00
Aggregated 4 7062 16.53 9 41 235.40 3531.00

View full report

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 19, 2026

🐰 Bencher Report

Branchraft
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
Command_Serde/apply/remove📈 view plot
🚷 view threshold
120,550.00 ns
Command_Serde/apply/set📈 view plot
🚷 view threshold
120,500.00 ns
Command_Serde/serde/delete_pack📈 view plot
🚷 view threshold
119.49 ns
(+13.88%)Baseline: 104.93 ns
1,576.52 ns
(7.58%)
Command_Serde/serde/delete_unpack📈 view plot
🚷 view threshold
181.22 ns
(+49.39%)Baseline: 121.30 ns
3,261.49 ns
(5.56%)
Command_Serde/serde/set_pack📈 view plot
🚷 view threshold
190.13 ns
(+48.89%)Baseline: 127.70 ns
2,399.09 ns
(7.93%)
Command_Serde/serde/set_unpack📈 view plot
🚷 view threshold
242.84 ns
(+54.61%)Baseline: 157.06 ns
3,854.44 ns
(6.30%)
Payload_encryption/pack/inner📈 view plot
🚷 view threshold
65.56 ns
Payload_encryption/pack/remove_cmd📈 view plot
🚷 view threshold
116.45 ns
Payload_encryption/pack/set_cmd📈 view plot
🚷 view threshold
186.64 ns
Payload_encryption/unpack/inner📈 view plot
🚷 view threshold
172.17 ns
Payload_encryption/unpack/remove_cmd📈 view plot
🚷 view threshold
190.66 ns
Payload_encryption/unpack/set_cmd📈 view plot
🚷 view threshold
252.46 ns
Raft_1Node_Latency/prefix/1node📈 view plot
🚷 view threshold
3,616,200.00 ns
(-2.53%)Baseline: 3,710,150.00 ns
72,578,786.31 ns
(4.98%)
Raft_1Node_Latency/read/1node📈 view plot
🚷 view threshold
557.21 ns
(+93.71%)Baseline: 287.65 ns
680.35 ns
(81.90%)
Raft_1Node_Latency/remove/1node📈 view plot
🚷 view threshold
351,230.00 ns
(+19.79%)Baseline: 293,205.00 ns
3,719,964.60 ns
(9.44%)
Raft_1Node_Latency/write/1node📈 view plot
🚷 view threshold
352,050.00 ns
(+17.67%)Baseline: 299,190.00 ns
4,101,556.63 ns
(8.58%)
build_snapshot/default📈 view plot
🚷 view threshold
87,765.00 ns
fernet token/project📈 view plot
🚷 view threshold
1,470.10 ns
(-0.14%)Baseline: 1,472.16 ns
1,552.64 ns
(94.68%)
get_data_keyspace📈 view plot
🚷 view threshold
0.31 ns
get_db📈 view plot
🚷 view threshold
0.31 ns
get_fernet_token_timestamp/project📈 view plot
🚷 view threshold
156.94 ns
(+5.16%)Baseline: 149.24 ns
169.85 ns
(92.40%)
get_keyspace📈 view plot
🚷 view threshold
4.33 ns
🐰 View full continuous benchmarking report in Bencher

When we write/read to the DS we may need metadata (creation time,
revision, etc). This is also necessary for the data encryption. It also
allows to implement checks for modification operations (expect revision
number).
@gtema gtema merged commit b10e981 into main Apr 20, 2026
33 checks passed
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