Skip to content

Add python test for float round trip error in GraphQL #2486

Merged
fabubaker merged 5 commits intodb_v4from
db_v4_graphql_float_changes
Feb 18, 2026
Merged

Add python test for float round trip error in GraphQL #2486
fabubaker merged 5 commits intodb_v4from
db_v4_graphql_float_changes

Conversation

@arienandalibi
Copy link
Collaborator

Added a python test which reproduces a bug where float values as properties in a graph change very slightly after being sent to the GraphQL server and being retrieved in some way. It seems that some floats never change and other floats change every time.

…ter a roundtrip to and from a GraphQL server.
Copy link
Contributor

@github-actions github-actions bot left a comment

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: 084be54 Previous: 92e9cbd Ratio
lotr_graph/num_edges 4 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph/num_nodes 415 ns/iter (± 1) 2 ns/iter (± 0) 207.50
lotr_graph/graph_latest 4 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph_materialise/materialize 9177402 ns/iter (± 142663) 1522839 ns/iter (± 3277) 6.03
lotr_graph_window_100/num_edges 28 ns/iter (± 0) 8 ns/iter (± 0) 3.50
lotr_graph_window_100/num_nodes 466 ns/iter (± 1) 5 ns/iter (± 0) 93.20
lotr_graph_window_100_materialise/materialize 9619869 ns/iter (± 168238) 1652390 ns/iter (± 10068) 5.82
lotr_graph_window_10/has_node_existing 143 ns/iter (± 7) 60 ns/iter (± 12) 2.38
lotr_graph_window_10/iterate nodes 34301 ns/iter (± 81) 11158 ns/iter (± 70) 3.07
lotr_graph_window_10/iterate edges 103188 ns/iter (± 403) 45356 ns/iter (± 311) 2.28
lotr_graph_window_10_materialise/materialize 6319822 ns/iter (± 152371) 1003601 ns/iter (± 4751) 6.30
lotr_graph_subgraph_10pc/has_edge_existing 523 ns/iter (± 4) 87 ns/iter (± 1) 6.01
lotr_graph_subgraph_10pc/num_nodes 306 ns/iter (± 1) 4 ns/iter (± 0) 76.50
lotr_graph_subgraph_10pc/has_node_existing 231 ns/iter (± 2) 30 ns/iter (± 0) 7.70
lotr_graph_subgraph_10pc/iterate nodes 4689 ns/iter (± 16) 828 ns/iter (± 1) 5.66
lotr_graph_subgraph_10pc_windowed/has_node_existing 131 ns/iter (± 10) 64 ns/iter (± 15) 2.05
lotr_graph_subgraph_10pc_windowed/iterate nodes 4496 ns/iter (± 29) 1422 ns/iter (± 4) 3.16
lotr_graph_window_50_layered/num_nodes 108611 ns/iter (± 8402) 27207 ns/iter (± 605) 3.99
lotr_graph_window_50_layered/has_node_existing 1353 ns/iter (± 188) 120 ns/iter (± 15) 11.28
lotr_graph_window_50_layered/max_id 120401 ns/iter (± 6953) 32055 ns/iter (± 822) 3.76
lotr_graph_window_50_layered/max_degree 2014387 ns/iter (± 28975) 297757 ns/iter (± 3250) 6.77
lotr_graph_window_50_layered/iterate nodes 245449 ns/iter (± 1499) 18745 ns/iter (± 163) 13.09
lotr_graph_window_50_layered/iterate edges 212470 ns/iter (± 439) 80618 ns/iter (± 1915) 2.64
lotr_graph_window_50_layered/max_neighbour_degree 3744308 ns/iter (± 78334) 386467 ns/iter (± 1132) 9.69
lotr_graph_window_50_layered/graph_latest 189059 ns/iter (± 5573) 42395 ns/iter (± 1950) 4.46
lotr_graph_window_50_layered_materialise/materialize 20696883 ns/iter (± 517233) 3438954 ns/iter (± 13847) 6.02
lotr_graph_persistent_window_50_layered/num_edges_temporal 589776 ns/iter (± 5304) 211293 ns/iter (± 2596) 2.79
lotr_graph_persistent_window_50_layered/num_nodes 142871 ns/iter (± 5186) 37094 ns/iter (± 1828) 3.85
lotr_graph_persistent_window_50_layered/has_node_existing 1770 ns/iter (± 458) 184 ns/iter (± 91) 9.62
lotr_graph_persistent_window_50_layered/max_id 156752 ns/iter (± 5206) 44676 ns/iter (± 2664) 3.51
lotr_graph_persistent_window_50_layered/max_degree 2823272 ns/iter (± 38169) 448265 ns/iter (± 12243) 6.30
lotr_graph_persistent_window_50_layered/iterate nodes 328210 ns/iter (± 3687) 36586 ns/iter (± 119) 8.97
lotr_graph_persistent_window_50_layered/max_neighbour_degree 5116721 ns/iter (± 159906) 506117 ns/iter (± 2140) 10.11
lotr_graph_persistent_window_50_layered/graph_latest 283319 ns/iter (± 3962) 63308 ns/iter (± 1797) 4.48
lotr_graph_persistent_window_50_layered_materialise/materialize 50924862 ns/iter (± 1533236) 5263639 ns/iter (± 20021) 9.67
lotr_graph/proto_decode 11216745 ns/iter (± 236698) 1897512 ns/iter (± 24491) 5.91
lotr_graph/proto_encode 9236798 ns/iter (± 228782) 1122596 ns/iter (± 59075) 8.23

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

@fabubaker fabubaker marked this pull request as ready for review February 18, 2026 18:13
@fabubaker fabubaker changed the title Some floats change after a round trip to the GraphQL server and back Add python test for float round trip error in GraphQL Feb 18, 2026
@fabubaker fabubaker merged commit 4acd7fe into db_v4 Feb 18, 2026
2 checks passed
@fabubaker fabubaker deleted the db_v4_graphql_float_changes branch February 18, 2026 19:23
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.

Float properties are not being stored correctly when sent through GraphQL

2 participants