Repository navigation
Conversation
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
August 21, 2026 11:23
92a68e1 to
1db2f7e
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
August 21, 2026 13:24
1db2f7e to
b6ef7c0
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
August 21, 2026 13:42
b6ef7c0 to
017ca4b
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
2 times, most recently
from
August 21, 2026 17:54
92b0861 to
c595599
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
August 28, 2026 14:06
c595599 to
2e15845
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 3, 2026 08:48
2e15845 to
9fb1ae9
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 3, 2026 15:52
9fb1ae9 to
1a75556
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 3, 2026 15:55
1a75556 to
05faeed
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 3, 2026 15:56
05faeed to
ea5a4a5
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 4, 2026 15:50
ea5a4a5 to
2068331
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 4, 2026 17:38
2068331 to
12529cc
Compare
antiguru
commented
Sep 4, 2026
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 4, 2026 19:37
12529cc to
f0fc9ed
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 23, 2026 14:09
23931cf to
16c7784
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 24, 2026 11:36
16c7784 to
9e41882
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 25, 2026 10:54
9e41882 to
ed8b178
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 25, 2026 17:05
ed8b178 to
6e6ab0a
Compare
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
commented
Sep 28, 2026
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
September 29, 2026 09:04
6e6ab0a to
847362f
Compare
antiguru
commented
Oct 1, 2026
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
4 times, most recently
from
October 1, 2026 12:54
847362f to
6dfc394
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
October 1, 2026 13:24
6dfc394 to
6bb7eaa
Compare
antiguru
force-pushed
the
mh/interactive-03-multiplex
branch
from
October 1, 2026 14:16
6bb7eaa to
13ecc17
Compare
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This branch has not been deployed
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.
5 of 14 in the interactive-runtime stack. Stacks on #38387, followed by #38389. Tracked by CPU-216. The design document is
doc/developer/design/20261107_interactive_runtime.mdin #40559.This adds the multiplexer that fans a single command stream out to both runtimes and merges their responses into one, and the
DataflowClassthat decides which runtime renders a dataflow.DataflowDescriptiongains aclass:Maintainedfor indexes, materialized views, sinks, subscribes and copy-tos,OneShotReadfor a dataflow that exists to answer one read. It is a class, not a destination, because the command history is shared by replicas with different runtime layouts, and a single-runtime replica renders every class. The adapter marks a peek dataflowOneShotReadwhere it already setsuntilone step past theas_of. A read atTimestamp::MAXhas no finiteuntiland stays maintained. The compute controller soft-asserts that aOneShotReaddataflow has the shape the interactive runtime can serve (transient exports, a single time, no subscribe, no copy-to), and rewrites a misfit toMaintained. The interactive runtime publishes nothing, so nothing else could import a durable export it rendered.compatible_withignores the class, so a class change across a reconnect does not rebuild a dataflow a runtime already renders.The multiplexer decides nothing. It forwards every command to both runtimes, except
PeekandCancelPeek, which go to the interactive runtime because it serves every peek in a two-runtime process. Each runtime consumes its commands at its own rate, so the order of the two sends guarantees nothing. Each runtime reads the class: the runtime that renders it builds the dataflow, and the other records its exports as peers (#38391). Both runtimes seeing the same commands in the same order is necessary for an index'ssinceto stay at or below theas_ofof every dataflow importing it, but not sufficient: #38390 adds the peer hold that covers a runtime lagging behind the other. Each runtime reports frontiers only for the collections it renders, which are disjoint, so responses are forwarded verbatim.Inert: nothing constructs a multiplexer. Independent of #38386 and #38387, it sits above them only to keep the stack linear.
Tests in
multiplex/tests.rscover routing, per-runtime command order, verbatim frontier forwarding, no lost message when both runtimes are ready, and either runtime ending the endpoint.A reviewer should check the shape check and its fallback in
Instance::create_dataflow.Posted by Claude Code.
🤖 Generated with Claude Code