Skip to content

Conversation

@wyatt-joyner-pometry
Copy link
Contributor

@wyatt-joyner-pometry wyatt-joyner-pometry commented Oct 16, 2025

What changes were proposed in this pull request?

Adding GenericNodeState and TypedNodeState
(and updating label propagation and adding Prop conversions)

Why are the changes needed?

This overhauls how algorithms return data by replacing the current NodeState data structure.

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

Documentation in progress.

How was this patch tested?

This primarily affects algorithms, so all algorithms and corresponding tests have been updated and run.

Are there any further changes required?

Yes. Currently a draft because I need to clean up the API and rewrite Prop conversions to be not stupid and incomplete.
API is suitable and Prop conversions seem passable for now.

@wyatt-joyner-pometry
Copy link
Contributor Author

It's a billion changes. Don't worry, I will direct reviewers' attention to the actual files that need reviewing.

ljeub-pometry and others added 8 commits October 16, 2025 14:48
* remove bad use from example

* refactor test_utils

* chore: apply tidy-public auto-fixes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* update pometry storage

* update pometry storage
* Add ui-tests submodule and newest UI

* Only pull pometry-storage-private in pull-storage task

* Set index path when building for tox

* Set environment variable for docs test

* Use rust-embed to embed resources folder into raphtory-graphql

* Pull ui-tests submodules before testing UI

* Add option to start server at a given public dir

* Fix linter suggestions

* Use PAT (classic) to approve checkout

* Test UI in separate workflow

* Limit permissions of test_ui

* Test UI during PR as well

* Fix playwright install command

* Use maturin to build raphtory

* Create venv for maturin and enable sccache

* Set correct path for venv

* Checkout submodule before making venv

* Use SSH to clone ui-tests repo

* Let maturin take care of dependencies

* Don't use SSH key for ui-tests (it's public now)

* Use checkout action to checkout ui tests submodule

* Use SSH key for cloning submodule after all

* Change name for ui tests step

* Upload UI report

* Use env var for resource folder instead of hardcoding

* Add timeout to the UI tests

* Add permissions to test_ui call

* chore: apply tidy-public auto-fixes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* make all the main write locks loopy

* fix GqlEdges

* chore: apply tidy-public auto-fixes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
had claude rewrite some of the prop conversion with the num_traits crate. Reviewing.
* got to reproduce the deadlock against 16.1 with different kind of queries besides

* this deadlocks 0.16.1-python and crashes with a panic in /app/raphtory-core/src/storage/mod.rs:881:33 semaphore-plus-final-fix-plus-rwlock-plus-loop-python with 8GB ram

* fixes some queries and also reproduces the deadlock against semaphore-plus-final-fix-plus-rwlock-plus-loop-python

* this version reproduces two different types of panics depending on which one nodes/edges is enabled

* some commented out to get a reduced versions of the read query causing the deadlock

* add parameter to all the decisions

* stress test until error

* add debug.Dockerfile

* add stress tests to github ci

* stress test was missing in the right workflow

* revert back changes on edges.rs

* change stress test parameters

* run raphtory as bg task

* reduce the number of vus to 400

* reduce the number of vus to 300 and upload report

* clean up Makefile

* revert back version for private storage

* decrease vus and remove comments

* always pulaod stress test report

* reduce vus to 10

* fix report missing

* add a name for the stress test report

* chore: apply tidy-public auto-fixes

* address Ben comments

* chore: apply tidy-public auto-fixes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* update intro to clarify fmt and require preprocessing

* update intro to add saving

* simple parquet example

* fix path

* chore: apply tidy-public auto-fixes

* switch to nodes +edges for parquet example

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* explicitly add filter to return types and misc filter stub fixes

* chore: apply tidy-public auto-fixes

* update descriptions of fuzzy search args

* chore: apply tidy-public auto-fixes

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
had claude rewrite some of the prop conversion with the num_traits crate. Reviewing.
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.

9 participants