feat: auto-fallback to SQLite when embedded SeekDB is unavailable#993
Open
knqiufan wants to merge 2 commits into
Open
feat: auto-fallback to SQLite when embedded SeekDB is unavailable#993knqiufan wants to merge 2 commits into
knqiufan wants to merge 2 commits into
Conversation
Centralize platform-aware storage default selection so zero-config startup uses embedded SeekDB only when available, and falls back to SQLite otherwise. Expose memory service readiness and SQLite capability limitations through server status and the dashboard. Closes oceanbase#992
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
powermem.platform_defaultswithchoose_default_database_provider()to centralize zero-config storage selection.DATABASE_PROVIDERandOCEANBASE_HOSTare unset:./data/powermem_dev.db).pyobvector,pyseekdb,pylibseekdb); uses OceanBase embedded mode when available, otherwise falls back to SQLite with a WARNING.storage_capabilitieson/api/v1/system/statusso clients can see SQLite limitations (no Graph Store, sub_stores, sparse vectors, SkillStore)..env.example/.env.example.fullcomments to document platform-aware defaults.Closes #992
Test plan
pytest tests/unit/test_storage_default_provider.pypytest tests/unit/test_seekdb_default_storage.pypowermem-serverstarts, memory APIs return 200 (not 503)powermem[seekdb]: zero-config still uses embedded SeekDB at./seekdb_dataDATABASE_PROVIDER=oceanbaseon non-Linux still surfaces a clear validation error (no silent override)