Ted Blackman
56d4906a13
ames: try next recork on cork ack
...
Without this, a ship would send a cork on a max of one flow per
recork timer, which could take years to clear for some ships.
This starts a hot loop of trying the next cork once one gets
positively acked.
2022-08-05 01:35:34 +03:00
Ted Blackman
54cd1a5eca
ames: simplify recork timer
...
The previous recork timer queued up %cork messages without sending them.
It also relied on making sure pump timers didn't get set for recork bones.
This was fragile.
The new design enqueues up to one new %cork message per ship during each
recork timer, based on the state of the flow. If the flow is closing but
there are no outstanding messages in it, then it needs to be recorked.
Flows will be recorked in ascending numerical order by bone.
2022-08-05 01:13:21 +03:00
fang
9433d3354d
ames: unsent-fragments is a list, not a tree
...
Measure accordingly.
2022-08-03 21:03:49 +02:00
fang
7af527e605
ames: correctly measure queue size
2022-08-03 20:52:03 +02:00
fang
e6453bae3c
ames: more detailed "future msg" trace
...
This additional information may come in handy when debugging this crash
we shouldn't be seeing.
2022-08-03 20:46:54 +02:00
fang
e16c499724
ames: make recork timer faster
...
This will aid visibility and debugging. We'll probably want to make this
slower again later.
2022-08-03 20:33:04 +02:00
fang
7c01ee9b35
ames: account for corked flows during %stir
...
Also patches the behn scry in %stir handling to be correct for latest behn.
2022-08-03 19:37:53 +02:00
fang
b860bef066
ames: correctly avoid setting pump timer
...
The condition got butchered during refactor: instead of avoiding the creation
of pump timers during recork wake, it was setting them _exclusively_ during
recork wake.
2022-08-02 23:23:48 +02:00
Ted Blackman
e5e4c8602d
ames: properly set recork flag in +on-wake
2022-08-02 23:15:43 +03:00
Ted Blackman
67efb2ad7c
ames: don't start pump timers on recork
2022-08-02 23:03:34 +03:00
fang
289fe5ef64
Merge branch 'next/arvo' into yu/gall-rq-global-cork-timer
2022-07-25 19:50:26 +02:00
yosoyubik
c69af12a6d
gall: make spore-tag a @ud
...
TODO: still getting kiln: %base not installed
2022-07-18 13:49:16 +02:00
yosoyubik
a5aedaccc5
ames: delete naxplanation flows if bone is corked
2022-07-18 10:27:36 +02:00
yosoyubik
35c6ac416e
ames: fix predicate for detecting %cork acks
2022-07-16 07:40:05 +02:00
yosoyubik
c599e60c5b
ames: add recork set
2022-07-15 16:45:32 +02:00
yosoyubik
8712804d7f
gall: comment subscription kill
2022-07-14 07:23:39 +02:00
yosoyubik
d17fd7521a
gall: use spore tag for +molt subscription killing
...
WIP: kiln crashes after upgrade with a ! kiln: %base not installed
2022-07-13 15:52:15 +02:00
Ted Blackman
1cb2aaabbc
gall: fix +molt initialization
2022-07-13 15:52:07 +02:00
Ted Blackman
5f8378e1b7
gall: kill subscriptions after agents reload
2022-07-13 15:52:02 +02:00
yosoyubik
d9b7643b79
gall: fix condition to run +ap-kill-down
2022-07-13 15:51:46 +02:00
yosoyubik
4c8a4ecb0e
gall: run +ap-kill-down only once
2022-07-13 15:51:38 +02:00
yosoyubik
354a914c82
gall: run +ap-kill-down on +molt
2022-07-13 15:51:28 +02:00
yosoyubik
a3518ef4d6
ames: add trace for %cork plea
2022-07-13 09:17:42 +02:00
bacwyls
49b837f5e8
eyre: fix for %trim bug - addendum
...
Broader, more direct solution.
2022-07-08 17:10:41 -07:00
bacwyls
c8fafa53bd
eyre: fix for %trim bug
...
Problem:
by-channel has its own copy of server-state from line 2182. discard-channel returns an altered state, with one channel removed from the state of by-channel.
but the state of by-channel isn't changing with each iteration, so |trim is only removing one channel per invocation.
Solution:
update by-channel on each iteration.
2022-07-08 15:14:13 -07:00
yosoyubik
34a7496720
ames: clean up nack flows after a cork
2022-07-08 07:29:04 +02:00
fang
283e5ad1db
Revert "gall: exclude from traces"
...
This reverts commit b1b422ce05
.
2022-07-07 16:24:03 +02:00
fang
a1b3348cdf
Revert "clay: render syntax errors at end of file"
...
This reverts commit 7a110db60d
.
2022-07-07 16:21:43 +02:00
yosoyubik
ca1b586a46
ames: init cork timer on larval +take
2022-07-07 11:35:28 +02:00
yosoyubik
d4d443db13
ames: remove cork wire from state
2022-07-07 09:20:57 +02:00
fang
c437f1cdbd
Merge pull request #5855 from urbit/m/gall-quieter
...
gall: exclude from traces
2022-07-06 18:48:55 +02:00
yosoyubik
e366e55dbc
ames: add global daily timer for pending corks
...
WIP compiles and upgrades, and the timer gets properly reset
but untested for actual re-subscriptions with old publishers
2022-07-06 17:00:35 +02:00
yosoyubik
608aba2a87
gall: handle subscriber-side %cork
...
this also enables increasing sub-nonces for every new subscription
TODO: create one global cork timer for all peers
2022-07-06 14:44:20 +02:00
yosoyubik
f3a60aef14
gall: don't send %cork when leaving a subscription
...
This is a temporary fix, and first part of the gall-request-queue-fix
release in two stages. This gives a publisher ship the ability to
understand a %cork and handle it properly, but no subscriber will
be sending %corks at this stage when leaving a subscription.
We still add a nonce to all subscription wires but it doesn't
increment it when resubscribing, allowing flows to be reused.
Tested locally with toy pub/sub agents and Group join/leaving
2022-07-06 10:59:08 +02:00
yosoyubik
76919ce07c
ames: resend %cork after a naxplanation in one day
2022-07-06 10:52:19 +02:00
yosoyubik
850de0bfd3
Revert "gall: run +ap-kill-down on +molt"
...
This reverts commit 2107240962
.
2022-07-06 09:12:30 +02:00
yosoyubik
675cf45171
Revert "gall: run +ap-kill-down only once"
...
This reverts commit cb5893ac05
.
2022-07-06 09:12:10 +02:00
yosoyubik
3560f6b7e3
Revert "gall: fix condition to run +ap-kill-down"
...
This reverts commit e5c86886e4
.
2022-07-06 09:11:22 +02:00
yosoyubik
ea4a31558f
ames: ack last fragment from closing bone
2022-07-01 09:59:24 +02:00
yosoyubik
e5c86886e4
gall: fix condition to run +ap-kill-down
2022-06-30 17:44:11 +02:00
yosoyubik
a967b42c30
ames: print bone if "hear last in-progress"
2022-06-30 17:12:07 +02:00
yosoyubik
cb5893ac05
gall: run +ap-kill-down only once
2022-06-30 17:06:22 +02:00
yosoyubik
2107240962
gall: run +ap-kill-down on +molt
2022-06-30 15:57:02 +02:00
yosoyubik
b0766c2f53
ames: remove misleading trace printf
2022-06-30 10:46:02 +02:00
yosoyubik
27ac0b601e
ames: use %$ as recipient vane for %corks
2022-06-30 10:18:37 +02:00
yosoyubik
17d52b8535
ames: handle bounce %cork from old publisher
...
Because the publisher will send the cork plea back to the subscriber on
the next bone, we are not able to know the bone for the original cork.
To handle it, we add the cork bone to the plea path
still wip: it keeps resending the cork plea faster than its ~h1 timer
2022-06-28 12:48:07 +02:00
yosoyubik
070d0a7d4b
Merge branch 'jb/behn-fix1' into yu/gall-rq-wire-ames-flow-kill
2022-06-28 10:47:50 +02:00
yosoyubik
7de9c72f36
ames: add rift when inserting new peer state
2022-06-27 13:55:07 +02:00
Joe Bryan
6b99b154d6
behn: cleans up comments
2022-06-17 22:20:16 -04:00
Joe Bryan
1b6d4f0fc5
behn: refactor to use +abet pattern
2022-06-17 10:27:27 -04:00
Joe Bryan
5482d3ff93
behn: emit %doze on any rescheduling of the next timer
2022-06-17 10:27:27 -04:00
Joe Bryan
bf8114a29d
behn: don't compare pending timers to now
2022-06-17 10:27:27 -04:00
Joe Bryan
1843df6cde
behn: unconditionally clear runtime timer state on %wake
2022-06-17 10:27:27 -04:00
fang
b1b422ce05
gall: exclude from traces
...
Removes the !: at the top of gall, so that it no longer gets included in traces about agent builds or crashes.
We also refine intentional crashes with ~_s, so that we still see a crash reason even if we don't get a full trace.
Lastly, flops the trace for +on-load crashes, which were getting printed bottom-first.
2022-06-17 14:08:47 +02:00
yosoyubik
2e92331a0b
Merge branch 'next/arvo' into yu/gall-rq-wire-ames-flow-kill
2022-06-16 08:54:24 +02:00
fang
ac90c2a602
Merge pull request #5812 from urbit/m/eof-syntax-error
...
clay: render syntax errors at end of file
2022-05-31 16:58:46 +02:00
fang
e9a0c8543e
Merge pull request #5811 from ynx0/patch-1
...
eyre: Modify landing title from "OS1" to "Urbit"
2022-05-31 16:56:15 +02:00
fang
7a110db60d
clay: render syntax errors at end of file
...
Previously, if the pointer for a syntax error pointed to the end of the file
(and the file ended in a newline) the code snippet rendering would try to
display a line _beyond_ the end of the file, causing a crash.
Here, we detect that case, and display `<<end of file>>` instead.
2022-05-30 16:08:59 +02:00
Yaseen
c94fea25da
eyre: Modify landing title from "OS1" to "Urbit"
2022-05-29 16:22:20 -04:00
Philip Monk
5b773723b3
Merge remote-tracking branch 'origin/yu/ames-fixes' into next/arvo
2022-05-20 22:52:00 -07:00
Philip Monk
ac64f44538
clay: update tests
2022-05-20 20:03:34 -07:00
Philip Monk
b914fbaedc
clay: add logging commands
2022-05-20 17:01:50 -07:00
Philip Monk
f16abbd992
ames: fix comet communication with breached ship
2022-05-19 20:20:00 -07:00
Philip Monk
7f63f548f5
clay: don't add lobe to wire to avoid flow leak
2022-05-18 20:54:10 -07:00
yosoyubik
16920a894e
Merge branch 'yu/ames-fixes' into yu/gall-rq-wire-ames-flow-kill
2022-05-18 17:37:24 +02:00
yosoyubik
c2576cdc46
ames: handle +call moves if re-evolving from larva
2022-05-18 17:36:40 +02:00
yosoyubik
fe412b1ca7
gall: remove $watches from egg/yoke
...
Also renames $beat to $boar so it signifies more its closeness to $boat
2022-05-18 15:27:17 +02:00
Philip Monk
201cb7290f
clay: add tomb scry
2022-05-18 02:12:35 -07:00
Philip Monk
6cae525464
clay: make trim clear ford cache
2022-05-18 00:35:23 -07:00
Philip Monk
61c1e19db5
clay: progress download when receiving tombstone
2022-05-18 00:11:16 -07:00
Philip Monk
4051d182ee
clay: fetch entire latest foreign commit
2022-05-17 22:07:53 -07:00
Philip Monk
9548f8333a
clay: don't require head of foreign desks
2022-05-17 17:06:03 -07:00
Philip Monk
9f0e8294db
clay: fixes
2022-05-17 16:02:15 -07:00
Philip Monk
c440a333d3
clay: tweaks from walkthrough
2022-05-17 14:17:53 -07:00
Philip Monk
7e4ad62a51
Merge remote-tracking branch 'origin/yu/ames-fixes' into philip/tomb
2022-05-17 14:07:05 -07:00
yosoyubik
c8f50ff2e6
gall: increment nonce after leaving pre-nonce subs
2022-05-17 15:37:33 +02:00
yosoyubik
7166e4c7cf
gall: skip nonce in pre-nonce subs wires
2022-05-17 14:29:13 +02:00
yosoyubik
4dae3ae3e2
ames: indent
2022-05-17 07:49:15 +02:00
yosoyubik
f81061fe40
Merge branch 'yu/ames-fixes' into yu/gall-cork-wip
2022-05-17 07:47:58 +02:00
yosoyubik
2553573be0
ames: start drainage timer if regressed from adult
...
This accounts for a possible race condition where ames expects a
response, but regresses into the larval state. Upon receiving the
$sign on +take, we would remain stuck as a larva. Now we check
that we have enough information to re-evolve and then start a
/larval timer to begin draining the queue.
2022-05-17 07:11:09 +02:00
yosoyubik
586fecef10
gall: add %gn to scry the nonce of a subscription
2022-05-16 10:27:36 +02:00
yosoyubik
83356f02ca
gall: add $beat map for subscription nonces
...
Previously we stored the nonce in $boat, which changed the $bowl of each
agent. This compiles and all agents reload, but more testing is needed.
It also renames inbound/outbound watches to $bitt/$boat.
2022-05-16 09:13:40 +02:00
yosoyubik
a1dcc5a8cd
gall: print trace logs by agent
...
This uses the same patterns found in %ames. We add an %odd flag
for logs related to the gall-rq PR, and leave it open for other flags
2022-05-15 17:16:18 +02:00
Philip Monk
9c7c776fd8
clay: fix stack while building directories
2022-05-15 02:27:49 -07:00
Philip Monk
d25194c7a3
arvo: reduce priority of lifecycle printfs
2022-05-14 23:59:21 -07:00
Philip Monk
c091ec92eb
various: make all files build correctly
2022-05-14 22:49:10 -07:00
Philip Monk
8a2eac7c70
Merge remote-tracking branch 'origin/ted/ames-prod-2' into philip/tomb
2022-05-14 21:17:10 -07:00
Philip Monk
c9a8933628
Merge remote-tracking branch 'origin/lf/eyre-mark-desk' into philip/tomb
2022-05-14 21:04:26 -07:00
Philip Monk
2e31f87068
Merge branch 'pr' into philip/tomb
2022-05-14 20:59:01 -07:00
Philip Monk
8f96e8402b
Merge remote-tracking branch 'origin/jo/lull-bump' into philip/tomb
2022-05-14 20:36:14 -07:00
Philip Monk
d50d3915b8
Merge remote-tracking branch 'origin/yu/ames-fixes' into philip/tomb
2022-05-14 19:28:30 -07:00
yosoyubik
350636fe2a
ames: don't relay acks for naxplanations of %corks
...
This avoids closing a subscription prematurely, before the
server ames has had time to process the innitial %cork.
2022-05-14 10:52:45 +02:00
Philip Monk
32ff1417a7
clay: only maintain mime cache if mounted
2022-05-10 20:33:01 -07:00
Philip Monk
3b0c2dac9c
clay: validate files in separate roads
2022-05-10 20:32:11 -07:00
Philip Monk
7f573cb357
clay: tweak |mass output
2022-05-10 03:24:58 -07:00
yosoyubik
76ddc359f5
ames: fixt 6-to-7 state update
2022-05-09 14:17:27 +02:00
yosoyubik
a2b771f704
Merge branch 'yu/ames-fixes' into yu/gall-cork-wip
2022-05-09 14:16:07 +02:00
yosoyubik
5d6b2d8997
ames: fix 4-to-5 state migration
2022-05-09 14:13:51 +02:00
yosoyubik
a278b63c66
ames: add tracing printf
2022-05-06 09:47:19 +02:00
yosoyubik
6318aa283b
ames: retry sending a %cork if publisher is behind
2022-05-05 14:04:18 +02:00