B.34 request.*
Every field the catalogue defines under request, in path order. Each entry gives the field's definition and, under Carried by, every event type that writes it.
B.34.1 request.deferred-effect #
- Type:
str.enum - Values:
restore-commit·key-mutation - Set: open
- Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
The kind of kernel-side work attached to a source request, to be applied
when the source's reply arrives rather than when the caller returns.
restore-commit completes a registry restore; key-mutation publishes
the effects of a key write, such as watch notifications and generation
updates. Absent when the request carries no deferred work.
Deferred work is what makes a late reply consequential. When the caller
has already given up (request.waiter-detached), the effect is still
applied, so a change the caller was told had failed can land afterwards.
Carried by:
No event carries this field yet.
B.34.2 request.id #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
The identifier of the source request this record concerns, for joining a record to the exchange that produced it. A pure correlation key.
Carried by:
B.34.3 request.op-code #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
The source-protocol operation code of the request this record concerns. Identifies which kind of exchange returned unusable data.
Carried by:
B.34.4 request.op-code-expected #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
The source-protocol operation code the kernel expected a response to carry,
recorded where the source answered with a different one. Read it beside
request.op-code, which holds the code that actually arrived; the
disagreement between the two is the finding.
A response code is the request code with the high bit 0x8000 set, so an
expected code of 0x8021 answers a request of 0x0021 (RSI_SET_VALUE).
Carried by:
No event carries this field yet.
B.34.5 request.status #
- Type:
str.enum - Values:
ok·not-found·already-exists·storage-error·not-empty·too-large·txn-busy·invalid·cas-failed·txn-not-supported - Set: open
- Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
The RSI status code a registry source returned for a request, named from
the RSI_* status constants with the prefix removed. The kernel maps each
status to an errno before the caller sees it, and the errno loses the
source's own account: storage-error and a response the kernel could not
use at all both reach the caller as EIO, and only this field says which
it was.
A status code outside this list is never carried here. It is rejected as
malformed source data and recorded on lcs.source.response.rejected with
the reason unknown-rsi-status-code.
Carried by:
No event carries this field yet.
B.34.6 request.timed-out #
- Type:
bool - Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
Whether a request's wait for the source's reply ran out before the reply arrived. The deadline is the configured request timeout. A timed-out request is not cancelled at the source: its reply may still arrive, and any deferred effect attached to it may still be applied.
Carried by:
lcs.audit.key.deletedlcs.audit.key.descriptor.changedlcs.audit.key.hiddenlcs.audit.key.tombstonedlcs.audit.value.deletedlcs.audit.value.set
B.34.7 request.waited #
- Type:
bool - Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
Whether the kernel blocked waiting for the source's reply to a request. False for a request dispatched without a waiter, whose outcome no caller will see directly.
Carried by:
No event carries this field yet.
B.34.8 request.waiter-detached #
- Type:
bool - Asserted: no
- Carried in: the payload
- Defined in:
lcs.evman
Whether the caller that issued a request had stopped waiting by the time the source's reply arrived. True means the operation had already reported failure to userspace, typically a timeout, so any effect the reply carries lands after the caller was told it did not. This is the entry condition for the kernel's late-effect replay.
Carried by:
No event carries this field yet.
Generated from lcs.evman by pkm/tools/gen-events-book.py. Edit the fragment, not this page.