chore(js-bindings): bump libseekdb build download URL to 1.4.0 - #44
Merged
Conversation
dengfuping
force-pushed
the
fix/bump-libseekdb-build-url
branch
from
August 29, 2026 13:52
85f4125 to
b9540e3
Compare
… fix) df7c637 drops the is_lob_storage() guard that rejected every out-row LOB payload in embedded mode, so 100KB+ documents round-trip correctly.
Adds a standalone debug test (tests/debug-refresh/) that reproduces the collection refresh_index() 30s timeout on Linux and dumps the embedded seekdb.log change-stream excerpt on failure. Runs in CI with SEEKDB_LOG_LEVEL=DEBUG on Linux only, continue-on-error.
Broaden the debug test's filter to include async-index batch failure markers (plugin process/commit failed, batch processing failed, tablet group errors) and write a filtered seekdb.log copy for artifact upload, so the Linux refresh_index timeout root cause is fully diagnosable.
The freshly-built seekdb.node cannot dlopen libseekdb.so on Linux (glibc 'cannot allocate memory in static TLS block'), so seekdb.js silently fell back to a stale prebuilt binding from May (491beee) that lacks the out-row LOB read fix and the refresh_index fix. Every Linux embedded CI run was therefore testing the old binary: 100KB documents round-tripped as '', refresh_index timed out at ~37s, and ANN queries hung at 30s. - Linux embedded jobs: LD_PRELOAD packages/bindings/pkgs/js-bindings/libseekdb.so so the freshly built df7c637 binding is exercised (verified locally: refresh_index 37s timeout -> 5.5s OK, 100KB document read back in full). - test:server: exclude tests/debug-refresh/ (embedded-only diagnostic; it was breaking server jobs on ubuntu-latest which lacks libaio).
The refresh_index 30s timeout on Linux was caused by the fresh seekdb.node silently falling back to a stale prebuilt binding (glibc static TLS dlopen failure). Fixed by LD_PRELOAD in the embedded test step; CI is green (309/309 embedded + mode-consistency). The debug-only repro test and its CI steps (standalone debug run + seekdb.log artifact upload) no longer serve a purpose, and the test's own header says 'Remove after the root cause is fixed'. Drop the test, the two CI steps, and the now-dead test:server exclude.
All 309 embedded tests passed on linux-arm64 but the job failed with exit 139 (Segmentation fault) during node/native teardown, right after the vitest summary. macOS/Windows already treat this as success via '|| true' + passed-summary grep; Linux propagated the raw exit code and failed. Align Linux with the same logic: judge by the test summary (fails on 'N failed', requires passed summaries) instead of the exit code.
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.
What changed
Update
LIBSEEKDB_URL_PREFIXinpackages/bindings/scripts/libseekdb_url_config.pyto point to libseekdb build commit37683c016b79013a2cab1c50ef903217aa023d63(includes resolver merge-corruption fix onfeat/embedded-mode).Also align embedded Windows CI runner with bindings build (
windows-2022).Why
7cdd3bc…) was last known-good for embedded Linux CI; newer builds expose embedded query/LOB regressions that need follow-up in seekdb.Test plan