mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-09 01:35:18 +02:00
Some checks failed
CI / Classify Changes (push) Has been cancelled
CI / Check AGENTS.md Links (push) Has been cancelled
CI / Container Entrypoint (push) Has been cancelled
Release Edge / Prepare edge release (push) Has been cancelled
CI / Test Workspace (push) Has been cancelled
CI / Test omnigraph-server --features aws (push) Has been cancelled
CI / Test Windows release binaries (push) Has been cancelled
CI / RustFS S3 Integration (push) Has been cancelled
Release Edge / Build edge omnigraph-linux-x86_64 (push) Has been cancelled
Release Edge / Build edge omnigraph-macos-arm64 (push) Has been cancelled
Release Edge / Build edge omnigraph-windows-x86_64 (push) Has been cancelled
Release Edge / Smoke Windows installer (push) Has been cancelled
* test(optimize): pin Lance blob-column compaction failure as a surface guard
Lance compact_files mis-decodes blob-v2 columns under its forced BlobHandling::AllBinary read ("more fields in the schema than provided column indices"), failing even a pristine uniform-V2_2 multi-fragment blob table; reads use descriptor handling and are unaffected.
Guard 10 reproduces this and is self-retiring: it turns red on the Lance bump that fixes the bug, forcing LANCE_SUPPORTS_BLOB_COMPACTION to flip.
* fix(optimize): skip blob-bearing tables instead of crashing compaction
omnigraph optimize aborted the whole sweep when any node/edge table had a Blob property: Lance compact_files cannot decode blob-v2 columns under AllBinary (the column-index error pinned by the surface guard). Skip blob-bearing tables behind a LANCE_SUPPORTS_BLOB_COMPACTION gate and report them via TableOptimizeStats.skipped / SkipReason (surfaced in the CLI and a tracing::warn) instead of erroring, which also isolates the failure so the other tables still compact.
Reads/writes are unaffected; only fragment/space reclamation on blob tables is deferred until the upstream Lance fix. Adds a maintenance.rs regression test (validated red with the column-index symptom before the fix, green after), a concise v0.6.1 release note, and updates docs (maintenance, cli-reference, AGENTS capability matrix, invariants Known Gaps, lance.md audit, constants).
* refactor(optimize): make TableOptimizeStats and SkipReason non_exhaustive
Both are returned result types, never built by callers, so #[non_exhaustive] makes this the last field/variant addition that can break downstream literal construction and keeps future ones non-breaking (review feedback on the public-field addition). The v0.6.1 Compatibility Notes call out the source-level change.
Also drops the now-stale "RED today / GREEN after the fix lands" narration in the optimize_skips_blob_table_and_reports_skip test (historical regression context now that the fix is in this branch), and folds in the expanded v0.6.1 release note.
* chore(release): bump workspace to v0.6.1
Coherent version bump to accompany the v0.6.1 release note: all five crate manifests + path-dependency constraints, Cargo.lock, the AGENTS.md surveyed-version line, and openapi.json info.version move 0.6.0 -> 0.6.1. Matches the established release pattern (#118 landed the v0.6.0 note + bump together) and resolves the Codex/Devin review flag that a v0.6.1 note without a bump leaves CARGO_PKG_VERSION reporting 0.6.0 and mixed package versions.
57 lines
1.7 KiB
TOML
57 lines
1.7 KiB
TOML
[package]
|
|
name = "omnigraph-engine"
|
|
version = "0.6.1"
|
|
edition = "2024"
|
|
description = "Runtime engine for the Omnigraph graph database."
|
|
license = "MIT"
|
|
repository = "https://github.com/ModernRelay/omnigraph"
|
|
homepage = "https://github.com/ModernRelay/omnigraph"
|
|
documentation = "https://docs.rs/omnigraph-engine"
|
|
|
|
[lib]
|
|
name = "omnigraph"
|
|
|
|
[features]
|
|
default = []
|
|
failpoints = ["dep:fail", "fail/failpoints"]
|
|
|
|
[dependencies]
|
|
omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" }
|
|
omnigraph-policy = { path = "../omnigraph-policy", version = "0.6.1" }
|
|
lance = { workspace = true }
|
|
lance-datafusion = { workspace = true }
|
|
datafusion = { workspace = true }
|
|
lance-file = { workspace = true }
|
|
lance-index = { workspace = true }
|
|
lance-linalg = { workspace = true }
|
|
lance-namespace = { workspace = true }
|
|
lance-table = { workspace = true }
|
|
arrow-array = { workspace = true }
|
|
arrow-schema = { workspace = true }
|
|
arrow-ord = { workspace = true }
|
|
arrow-select = { workspace = true }
|
|
arrow-cast = { workspace = true }
|
|
tokio = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
object_store = { workspace = true }
|
|
ulid = { workspace = true }
|
|
base64 = { workspace = true }
|
|
futures = { workspace = true }
|
|
tracing = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
regex = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
fail = { workspace = true, optional = true }
|
|
time = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
url = { workspace = true }
|
|
chrono = { workspace = true }
|
|
arc-swap = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
omnigraph-compiler = { path = "../omnigraph-compiler", version = "0.6.1" }
|
|
tokio = { workspace = true }
|
|
lance-namespace-impls = { workspace = true }
|
|
serial_test = "3"
|