5.11 lcs.audit.transaction.committed

  • Event type: lcs.audit.transaction.committed
  • Defined in: lcs.evman
  • Tier: essential
  • Gating: the transaction staged at least one recorded write
  • Cardinality: once per transaction that staged a recorded write

The record of how a registry transaction ended, written for a transaction that staged at least one write some other record covers. Transacted writes are recorded when they are staged; this says whether they took effect, joined to them on transaction.id.

It is written once, at the end: when REG_IOC_COMMIT leaves the transaction committed or otherwise finished, when it times out, or when its fd is closed without a commit. A commit that fails and leaves the transaction open writes nothing yet.

A commit that timed out may have taken effect. The commit was sent and not answered; transaction.commit-outstanding true says so, and the source may have applied it before the reply was lost.

The subject depends on how it ended. On REG_IOC_COMMIT it is the subject who committed, not who staged the writes. A transaction that ended by timeout or by its fd closing has nobody acting, and names the subject that staged its first recorded write.

5.11.1 Fields #

FieldTypePresenceMeaning
subject.token.sidbin.sidvia callerThe user SID of the effective token the operation ran under.
subject.token.integrityuint.integrityvia callerThe integrity RID of the effective token.
subject.token.iduint.luidvia callerThe token's own LUID, identifying this specific token rather than the logon session it belongs to.
subject.token.auth-iduint.luidvia callerThe LUID of the logon session the effective token belongs to.
subject.token.typestr.enumvia callerWhether the effective token is a primary token or an impersonation token.
subject.token.impersonationuint.enumvia callerThe impersonation level of the effective token.
transaction.iduintrequiredThe transaction the operation belonged to, registry or package.
transaction.statestr.enumrequiredThe state it ended in: committed on success.
transaction.commit-outstandingboolwhen outcome.success == falseWhether a transaction's commit had been sent to its source and not yet answered.
outcome.successboolrequiredTrue only when the transaction committed.
outcome.errnoint.errnooptionalPresent when a REG_IOC_COMMIT call failed; absent for a transaction that ended without one.
outcome.reasonstr.enumwhen outcome.success == falseaborted when its fd was closed without a commit or a layer it wrote was deleted, timed-out when it passed its deadline, source-error when its source failed or went away.

Values here (open set): aborted · timed-out · source-error.

Every record also carries the header fields of the envelope, which no payload repeats.

Generated from lcs.evman by pkm/tools/gen-events-book.py. Edit the fragment, not this page.

Edit this page