Skip to content

Patch fault-injector errors#2652

Open
fabubaker wants to merge 17 commits into
db_v4from
db_v4_/fix-fault-injector
Open

Patch fault-injector errors#2652
fabubaker wants to merge 17 commits into
db_v4from
db_v4_/fix-fault-injector

Conversation

@fabubaker

@fabubaker fabubaker commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Fixes all fault-injector/LazyFS bugs that show up on CI.

Quick summary of changes:

  • Call sync_all on the .meta file.
  • Use atomic rename when modifying the Config file.
  • Run a clean shutdown only if the DB was in Running state.
  • Update the WAL position correctly when replaying a WAL that has no entries.

Why are the changes needed?

These changes should fix any durability bugs revealed by LazyFS.

Does this PR introduce any user-facing change? If yes is this documented?

No.

How was this patch tested?

Running the fault-injector CI on pometry-storage: https://github.com/Pometry/pometry-storage/pull/304

Are there any further changes required?

No.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: e31454f Previous: 9823ef7 Ratio
lotr_graph/num_edges 4 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph/num_nodes 4 ns/iter (± 0) 1 ns/iter (± 0) 4
lotr_graph/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph/graph_latest 3 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph_materialise/materialize 8151899 ns/iter (± 51430) 1564816 ns/iter (± 35303) 5.21
lotr_graph_window_100/num_nodes 14 ns/iter (± 0) 5 ns/iter (± 0) 2.80
lotr_graph_window_100_materialise/materialize 8204897 ns/iter (± 50151) 1669150 ns/iter (± 10700) 4.92
lotr_graph_window_10/has_node_existing 142 ns/iter (± 10) 62 ns/iter (± 11) 2.29
lotr_graph_window_10_materialise/materialize 3286052 ns/iter (± 11788) 971980 ns/iter (± 4278) 3.38
lotr_graph_subgraph_10pc/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_subgraph_10pc_materialise/materialize 1983648 ns/iter (± 18657) 334634 ns/iter (± 1287) 5.93
lotr_graph_subgraph_10pc_windowed/has_node_existing 147 ns/iter (± 8) 62 ns/iter (± 14) 2.37
lotr_graph_subgraph_10pc_windowed_materialise/materialize 1189298 ns/iter (± 12368) 230399 ns/iter (± 2617) 5.16
lotr_graph_window_50_layered/num_edges_temporal 149374 ns/iter (± 3778) 70121 ns/iter (± 7586) 2.13
lotr_graph_window_50_layered/has_node_existing 425 ns/iter (± 24) 129 ns/iter (± 12) 3.29
lotr_graph_window_50_layered/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_window_50_layered/graph_latest 87045 ns/iter (± 1603) 36649 ns/iter (± 916) 2.38
lotr_graph_window_50_layered_materialise/materialize 31779269 ns/iter (± 227986) 3488825 ns/iter (± 24948) 9.11
lotr_graph_persistent_window_50_layered/num_edges_temporal 641946 ns/iter (± 17728) 192686 ns/iter (± 1569) 3.33
lotr_graph_persistent_window_50_layered/has_node_existing 444 ns/iter (± 417) 174 ns/iter (± 83) 2.55
lotr_graph_persistent_window_50_layered/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_persistent_window_50_layered/iterate_exploded_edges 3737106 ns/iter (± 79196) 1659940 ns/iter (± 19402) 2.25
lotr_graph_persistent_window_50_layered/graph_latest 141526 ns/iter (± 6515) 57549 ns/iter (± 4809) 2.46
lotr_graph_persistent_window_50_layered_materialise/materialize 55966716 ns/iter (± 281628) 5298035 ns/iter (± 147912) 10.56

This comment was automatically generated by workflow using github-action-benchmark.

@ljeub-pometry ljeub-pometry left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good

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.

2 participants