Update wisp to v0.5.14 (bounded query scan) - #13
Merged
Conversation
StartOS stamps the data version before an update completes, so with
`down: IMPOSSIBLE` a failed or cancelled update leaves the data at the
new version with no path back — the automatic rollback then fails and
the service cannot load at all:
Update rollback failed for wisp, restoring volume snapshot:
Error: cannot migrate from 0.5.14:0 to 0.5.13:1
An interrupted sideload wedged the service in practice until it was
reinstalled. There is no data-format change between these versions, so
a downgrade is trivially possible; declaring it impossible was both
inaccurate and what blocked recovery.
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.
Rebase of #11 onto current
master, plus a fix for the version-graph defect that blocks rollback of a failed update. Commits are @kwsantiago's, unchanged in substance — #11 could not be updated in place because its head lives on an organization-owned fork, where GitHub does not honor "allow edits by maintainers".wisp v0.5.14
Queries are now bounded in how many stored entries they may scan, so a selective filter matching fewer events than its
limitno longer walks the entire database. Fixes severe CPU and major page-fault load on large databases. The newquery_scan_multipliersetting (default 20, 0 disables) controls the bound. (privkeyio/wisp#160)Dockerfile:WISP_VERSIONv0.5.13 → v0.5.14,WISP_COMMIT→40ec89eb5439c80a3b3508b5f52fcfd64d76cc9f(verified: the commit tagv0.5.14points to)current.ts:0.5.13:3→0.5.14:0+ release notes in all five localesRollback fix
migrations.downwasIMPOSSIBLE. StartOS stamps the data version before an update completes, so a failed or cancelled update left the data at the new version with no path back — the automatic rollback then failed and the service could not load at all:An interrupted sideload wedged the service in practice until it was reinstalled. There is no data-format change between these versions, so a downgrade is trivially possible; declaring it impossible was both inaccurate and what blocked recovery.
downis now a no-op.versions/index.tskeepsother: []. #11's description proposed adding av0_5_13.tsnode and populatingother, but that was never in its diff and is not needed:VersionGraphsynthesizes a range vertex beneathcurrent, so every installed version below0.5.14:0already migrates up in one hop, andcanMigrateFromis derived from the graph rather than fed byother.Rebase notes
startos/versions/current.ts—masterhad advanced to0.5.13:3(start-sdk 2.0.9). Resolved in favor of0.5.14:0; the sdk bump itself is untouched and carries forward.npm run checkandprettier --check startosboth pass.Test plan
0.5.13:x).websocketinterface comes up healthy.query_scan_multiplierbehaves as configured (default 20; set 0 to disable the bound).limitand confirm CPU no longer spikes the way it did on 0.5.13.cannot migrate from ….