Joonas Koivunen
eb3711b881
doc: why no cancel
2024-07-26 14:39:32 +00:00
Joonas Koivunen
7f241bd379
refactor: remove needless Error::from
2024-07-26 14:39:32 +00:00
Joonas Koivunen
ff52901028
refactor: still_ongoing assert is shared in all paths
2024-07-26 14:39:32 +00:00
Joonas Koivunen
bb377a3544
fixup: make sure detach_ancestor is blocking gc
2024-07-26 14:39:32 +00:00
Joonas Koivunen
5ece7af497
doc: remove confusing comment
2024-07-26 14:39:32 +00:00
Joonas Koivunen
2be3027fa5
doc: elaborate on weird query
2024-07-26 14:39:32 +00:00
Joonas Koivunen
14a0517c7f
also assert still ongoing
2024-07-26 14:39:32 +00:00
Joonas Koivunen
dcff25c293
chore: adjust assert message
2024-07-26 14:39:32 +00:00
Joonas Koivunen
f80c37b733
chore: forgotten to update panic text with detach_and_reparent renaming
2024-07-26 14:39:32 +00:00
Joonas Koivunen
b9d0b26cea
doc: remove possibly wrong comment
2024-07-26 14:39:32 +00:00
Joonas Koivunen
c2c28f211b
doc: explain returning option
2024-07-26 14:39:32 +00:00
Joonas Koivunen
1ebcb1c45b
doc: clean out FIXME
...
we cannot protect against willful misuse. I had been thinking of witness
of Attempt but ...
2024-07-26 14:39:32 +00:00
Joonas Koivunen
66d750ec20
info log on detach
2024-07-26 14:39:32 +00:00
Joonas Koivunen
ba3a6645e7
fix: info log line again, botched rebase?
2024-07-26 14:39:32 +00:00
Joonas Koivunen
8885a8c482
fixup: missed hashset change
2024-07-26 14:39:32 +00:00
Joonas Koivunen
c8880b69fb
stop with the (ancestor_lsn, timeline_id) ordered reparented
...
I was thinking of the case where we have multiple reparented at the same
ancestor_lsn. But of course, that is not a problem if we compare the
reparented as a set...
2024-07-26 14:39:32 +00:00
Joonas Koivunen
274b2a611b
test: handle the case where timeline cannot be found
...
at least do not double-panick.
2024-07-26 14:39:32 +00:00
Joonas Koivunen
8f52139913
additional assert in completion
2024-07-26 14:39:32 +00:00
Joonas Koivunen
fc4d80bbf2
elaborate on TODO for which a test is later added
2024-07-26 14:39:32 +00:00
Joonas Koivunen
f4fb08d869
stop masking the topmost error in http handler
2024-07-26 14:39:31 +00:00
Joonas Koivunen
c23cd5c149
ongoing_detach_ancestor => gc_blocking in index_part
2024-07-26 14:39:31 +00:00
Joonas Koivunen
f4cd9fe40b
refactor: misc after attempt to add lock_in_reparentable
2024-07-26 14:39:31 +00:00
Joonas Koivunen
43af9484c0
doc: schedule_reparenting_and_wait
2024-07-26 14:39:31 +00:00
Joonas Koivunen
842bd4c2db
refactor: reparentable_timelines query out
2024-07-26 14:39:31 +00:00
Joonas Koivunen
ada9a46dca
remove done fixme, minor reformattting
2024-07-26 14:39:31 +00:00
Joonas Koivunen
742fcac7b9
refactor: use partialeq more
2024-07-26 14:39:31 +00:00
Joonas Koivunen
55aeeb5765
allow deleting timeline unblock gc
2024-07-26 14:39:31 +00:00
Joonas Koivunen
89426570d3
relax overly strict comparisons
2024-07-26 14:39:31 +00:00
Joonas Koivunen
7f767ca18e
fix: must_restart condition
2024-07-26 14:39:31 +00:00
Joonas Koivunen
1348dbf0f1
doc: comment cleanup
2024-07-26 14:39:31 +00:00
Joonas Koivunen
a179283f86
always notify gc_waiting when writing over the witness tracking
2024-07-26 14:39:31 +00:00
Joonas Koivunen
deb86c1ea1
remodel the return type
2024-07-26 14:39:31 +00:00
Joonas Koivunen
dfdf40916f
rename complete_detaching_from_ancestor
...
it hasn't meant completing in a while now :)
2024-07-26 14:39:31 +00:00
Joonas Koivunen
c6d8015fe9
chore: clippy needless into_iter
2024-07-26 14:39:31 +00:00
Joonas Koivunen
ce2552ba67
minor comment update for FIXME about 503
2024-07-26 14:39:31 +00:00
Joonas Koivunen
f4d773bb89
refactor: unify t::s::Semaphore
2024-07-26 14:39:31 +00:00
Joonas Koivunen
6f28263428
refactor: failpoint all but one
2024-07-26 14:39:31 +00:00
Joonas Koivunen
1e380ea5af
refactor: Ancestor::Delete is not needed
2024-07-26 14:39:31 +00:00
Joonas Koivunen
8258385301
remove indentation level with exhaustive match
2024-07-26 14:39:31 +00:00
Joonas Koivunen
6a8f00dea0
fix: return reparented_direct_children in case we reparent nothing new
2024-07-26 14:39:31 +00:00
Joonas Koivunen
44cdb9fb58
refactor: reparented_direct_children query
2024-07-26 14:39:31 +00:00
Joonas Koivunen
cdfaf0700f
fix: bifurcate the detach+reparent step
2024-07-26 14:39:31 +00:00
Joonas Koivunen
881e1ad056
refactor: no need to collect reparentable here
2024-07-26 14:39:31 +00:00
Joonas Koivunen
bb3d70e24d
fix: properly cancel if any reparenting failed
2024-07-26 14:39:31 +00:00
Joonas Koivunen
c6c560e4c8
rewrite to include testing assertion
2024-07-26 14:39:31 +00:00
Joonas Koivunen
8dd332aed5
doc: remove unnecessary comment
2024-07-26 14:39:31 +00:00
Joonas Koivunen
5c03a17eb8
wip: some progress
...
now we hit the todo! in "already detached" path.
2024-07-26 14:39:31 +00:00
Joonas Koivunen
402d66778e
make reparenting operations idempotent
2024-07-26 14:39:31 +00:00
Joonas Koivunen
39e2bc932f
prepare to reparent while gc blocked
2024-07-26 14:39:31 +00:00
Joonas Koivunen
5fc034fa7f
feat: block gc persistently until detach ancestor completes
2024-07-26 14:39:31 +00:00