Commit d481d8c
committed
build: move to ontoenv 0.6.1
^0.6.0 -> ^0.6.1. The caret range already admitted 0.6.1; this raises the
floor, because the release is entirely about the failure mode
`_connect_recovering` exists to handle and the handler is only safe with it.
0.6.1 splits `.ontoenv/catalog.pending` into three states instead of two.
Before, the marker's presence at open time meant `CatalogRecoveryError`, full
stop. Now: a mutation that fails before touching the backend removes the
marker on its way out rather than leaving one (the persisted catalog still
describes the store, so there is nothing to recover); a marker whose writer
still holds `.ontoenv/store.lock` is waited on for up to 2s and then raised as
a plain retryable `ValueError` naming the external process; and only a marker
with no live writer behind it is `CatalogRecoveryError`.
That middle state is the one that matters here. `_connect_recovering` catches
`CatalogRecoveryError` and rebuilds unconditionally, which under 0.6.0 could
mean rebuilding a catalog another process was in the middle of writing --
the one destructive thing this code can do. 0.6.1 makes that unreachable, and
the retryable error propagates untouched, which is correct: the answer to it
is to retry, not to rebuild. No code change; the docstring now says so.
Verified against 0.6.1 with a persistent cache: loading Brick (whose eight
unresolvable imports were the original source of spurious markers) leaves no
marker and opens #2 and #3 succeed with all 21 ontologies intact; a
hand-written marker with no writer still raises `CatalogRecoveryError` and
`OntoEnv.recover` clears it; a marker held by a thread holding an exclusive
lock on store.lock raises `ValueError` after ~2.0s rather than
`CatalogRecoveryError`.
No API of ours changed and no new deprecation warnings: `connect`, `recover`,
`UnresolvedImportError`, and `ViewGraph` are all as they were on 0.6.0.
poetry.lock was regenerated by poetry 2.4.1 rather than the 2.1.1 that wrote
it, so it also carries that generator header and two constraint spellings it
normalizes (`jsonschema-specifications`, `PyYAML`); no other package moved.1 parent 03c3ebb commit d481d8c
3 files changed
Lines changed: 25 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
94 | 104 | | |
95 | 105 | | |
96 | 106 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
0 commit comments