@@ -406,18 +406,19 @@ Four parameters:
406406 whose rows are bound for the stash suspends once its accumulation crosses
407407 ` peek_response_stash_threshold_bytes ` , by far the smaller trigger at that
408408 parameter's default, so such a walk yields per batch.
409- * ** Permit fraction** , default one permit per timely worker, expressed in
410- nano-fractions of the worker count the way Kubernetes expresses a CPU share .
411- How many promoted scans may run at once. It bounds running scans and nothing
412- else, and the queue that forms behind it is a signal rather than a second
413- bound.
409+ * ** Permit fraction** , default ` 1.0 ` , a fraction of the timely workers a compute
410+ runtime runs. How many promoted scans may run at once, floored at one scan .
411+ Expressed as a fraction so the bound scales with the replica rather than being
412+ retuned per size. It bounds running scans and nothing else, and the queue that
413+ forms behind it is a signal rather than a second bound.
414414
415415A peek passed over for want of budget is served before the peeks that were served
416- ahead of it, which takes two pieces beyond the counters. The sweep records the
417- uuid it stopped at and the next sweep rotates the pending peeks to start there, so
418- serving them in uuid order alone cannot let a later arrival with a lower uuid take
419- a passed-over peek's turn. A stale resume point is harmless, since a uuid that has
420- since been answered still names where in the ordering to resume.
416+ ahead of it, which the pending peeks carry themselves. They are a queue: a sweep
417+ drains it from the front and returns what it could not retire to the back, so the
418+ order that survives a sweep is the order the next one owes, and a peek arriving
419+ later queues behind one that has already waited. Holding them keyed by uuid
420+ instead would let a later arrival with a lower uuid take a passed-over peek's
421+ turn, and do so on every activation.
421422
422423The worker also has to get back to such a peek, and nothing else brings it there:
423424the peeks that spent the budget were answered or promoted, and neither leaves an
@@ -651,7 +652,7 @@ Seven layers, bottom to top. The first two have merged.
651652 its Added and Deleted sections describe the end state the layers below reach.
652653
653654#38158 is absorbed rather than merged separately. It is unmerged upstream, and the
654- ` PeekError ` type it introduces is what ` ScanOutcome::Failed(PeekError) ` assumes,
655+ ` PeekError ` type it introduces is what the ` Err ` side of a finished ` ScanOutcome ` assumes,
655656so carrying it as a layer of this stack is what lets every layer above it name a
656657structured error at all. Its ` merge_peek_responses ` precedence is the one this
657658design inherits rather than rewrites.
0 commit comments