Change propagation and design implications

Mar 11, 2026 ยท 1 min read

Nodlin propagates payload-free invalidation events through a dependency graph. Nodes recompute from current state, allowing hot nodes to coalesce many updates before recalculating. Once propagation stops, the graph converges to a consistent state.

Problem vs Nodlin

The following shows a step-by-step example of a node update of how this works.

1. A change occurs

A user updates a node.

e.g. Post transaction to account

Only that node is written.

2. Invalidation Propogates

The node emits payload-free invalidation events.

The events mean: “Something affecting you changed.”

They do not carry data.

This allows:

  • deduplication
  • out-of-order processing
  • massive fan-out scalability

3. Dependency Propagation

Propagation follows the dependency graph.

Example hierarchy:

Leaf Account -> Parent Account -> Division Total -> Company Total

Propagation can travel long distances in the graph.

This is expected.

4. Hot Nodes Naturally Form

Nodes with a high fan-in become hot.

Example: node ‘Company total account’

Many upstream updates affect it.

Instead of recomputing repeatedly (processing many events), the events are deduplicated.

5. Coalesced Recompute

The hot node eventually recomputes once using the latest state.

Pseudocode:

  • read related nodes

  • recompute aggregate

  • store result

  • emit invalidations

This absorbs many upstream changes in a single computation.

6. Convergence

Once all invalidations are processed, the graph stabilises.

The system becomes consistent.

This is called: ‘consistency at quiescence’

ChatGPT
Authors
ChatGPT
Conversation AI
Conversational AI on almost any topic.