Skip to content

quick fix for the subgraph creation deadlock - #2787

Open
ljeub-pometry wants to merge 1 commit into
db_v4from
fix_subgraph_deadlock
Open

ljeub-pometry wants to merge 1 commit into
db_v4from
fix_subgraph_deadlock

Conversation

@ljeub-pometry

Copy link
Copy Markdown
Collaborator

What changes were proposed in this pull request?

Fix deadlock in the server when creating a subgraph for a graph that is not currently in the cache.

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

No

How was this patch tested?

Added test that reproduced the deadlock

Are there any further changes required?

We need to review the mutation locking and dirty path cleanup logic. The root cause is that the read path currently also has to acquire the read lock for the mutations as it cleans up dirty paths.

@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: b5a9cad Previous: 9823ef7 Ratio
lotr_graph/num_edges 6 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph/num_nodes 6 ns/iter (± 0) 1 ns/iter (± 0) 6
lotr_graph/graph_latest 3 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph_materialise/materialize 7809859 ns/iter (± 27070) 1564816 ns/iter (± 35303) 4.99
lotr_graph_window_100/num_nodes 18 ns/iter (± 0) 5 ns/iter (± 0) 3.60
lotr_graph_window_100_materialise/materialize 7900219 ns/iter (± 56689) 1669150 ns/iter (± 10700) 4.73
lotr_graph_window_10/has_node_existing 140 ns/iter (± 9) 62 ns/iter (± 11) 2.26
lotr_graph_window_10_materialise/materialize 3428068 ns/iter (± 10750) 971980 ns/iter (± 4278) 3.53
lotr_graph_subgraph_10pc/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_subgraph_10pc_materialise/materialize 2313372 ns/iter (± 24555) 334634 ns/iter (± 1287) 6.91
lotr_graph_subgraph_10pc_windowed/has_node_existing 145 ns/iter (± 8) 62 ns/iter (± 14) 2.34
lotr_graph_subgraph_10pc_windowed_materialise/materialize 1524992 ns/iter (± 11460) 230399 ns/iter (± 2617) 6.62
lotr_graph_window_50_layered/num_edges_temporal 147589 ns/iter (± 1761) 70121 ns/iter (± 7586) 2.10
lotr_graph_window_50_layered/has_node_existing 396 ns/iter (± 19) 129 ns/iter (± 12) 3.07
lotr_graph_window_50_layered/graph_latest 89281 ns/iter (± 1924) 36649 ns/iter (± 916) 2.44
lotr_graph_window_50_layered_materialise/materialize 30340739 ns/iter (± 166729) 3488825 ns/iter (± 24948) 8.70
lotr_graph_persistent_window_50_layered/num_edges_temporal 593299 ns/iter (± 4291) 192686 ns/iter (± 1569) 3.08
lotr_graph_persistent_window_50_layered/has_node_existing 414 ns/iter (± 383) 174 ns/iter (± 83) 2.38
lotr_graph_persistent_window_50_layered/graph_latest 133982 ns/iter (± 2087) 57549 ns/iter (± 4809) 2.33
lotr_graph_persistent_window_50_layered_materialise/materialize 52094159 ns/iter (± 150583) 5298035 ns/iter (± 147912) 9.83

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

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