Skip to content

fix(core): stability fixes integrated from RyuGraph and Kuzu#184

Open
vkozio wants to merge 2 commits intoLadybugDB:masterfrom
vkozio:feat-core-stability-ryugraph-kuzu
Open

fix(core): stability fixes integrated from RyuGraph and Kuzu#184
vkozio wants to merge 2 commits intoLadybugDB:masterfrom
vkozio:feat-core-stability-ryugraph-kuzu

Conversation

@vkozio
Copy link

@vkozio vkozio commented Feb 18, 2026

Summary

  • Core stability fixes integrated from RyuGraph and Kuzu (with adaptations to our codebase).
  • RyuGraph: segfault fix in label/bind (c1ff4dd414); mixed-type lists in UNWIND (6884f338c2).
  • Kuzu: eviction, hash_index/disk_array, plan_copy (373bd13562, c78becc8f7, 168f57a1ba).

Fixes: #106

Motivation

Improve core correctness and test coverage; attribution preserved for upstream.

Changes

  • src/binder, src/function/list, src/function/pattern, src/planner, src/storage (buffer_manager, disk_array_collection, hash_index), test/test_files/unwind/unwind_mixed.test.
  • No Node.js API, no Node CI.

Attribution

Suggested merge order for this and related PRs

Please merge in this order:

  • fix(core): stability fixes integrated from RyuGraph and Kuzu (this PR)
  • fix(core): Windows/Clang build, merge free pages after rollback, shell, warnings
  • chore(nodejs): Node 20+, node:test, testing guide
  • feat(nodejs): core API — async iterator, transaction(fn), ping, toStream, Database options
  • feat(nodejs): interrupt(), AbortSignal, copy src_js to build
  • feat(nodejs): registerStream, LOAD FROM stream, resilience tests
  • feat(nodejs): QueryResult.toString, getNumNodes/getNumRels, QuerySummary, explain()
  • docs(nodejs): examples, API reference, README install/prebuilt
  • feat(nodejs): root entry, prebuilt, install script, package.json files for tarball
  • feat(nodejs): connection pool, database locked handling, resilience cleanup
  • chore(ci): Node.js workflow (optional; may be declined)

Branches 4–10 are built on top of 3, so merging out of order may cause duplicate or confusing diffs. The CI PR (11) is independent and can be skipped if you prefer to manage CI yourselves.

@adsharma adsharma changed the title fix(core): stability fixes integrated from RyuGraph and Kuzu (see PR … fix(core): stability fixes integrated from RyuGraph and Kuzu Feb 18, 2026
@adsharma
Copy link
Contributor

@vkozio: thank you for the contribution!

Please look into the test failures

nextHeaderPageIdx = page->nextHeaderPage;
});
KU_ASSERT(headerPage);
numHeaders += headerPage->numHeaders;
Copy link
Contributor

Choose a reason for hiding this comment

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

Would be good to have an explicit NULL check on headerPage here. KU_ASSERT is a nop on release builds.

Copy link
Author

Choose a reason for hiding this comment

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

Added. Thanks for review

KU_ASSERT is no-op in release builds; add runtime check and throw
RuntimeException so release handles failed optimistic read.
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.

Bug: Fix crashes on some queries using paths + label()

2 participants