Catalogue / Messaging

Stream processor

messagingstream-processor

Continuous computation over streams with windows and state.

Category
Messaging
Properties
8
Components
34
Rules
1
Properties · 8 defined by this kind

A node of this kind resolves each property from its own props, then the component's defaults, then the default below.

propertytypevaluesrequireddefault
checkpointIntervalSecondsinteger—no—
exactlyOnceboolean—nofalse
instancesinteger—no—
lateDataPolicyenumdrop | shift | sidelineno—
managedboolean—nofalse
stateBackendenummemory | rocksdb | externalnomemory
watermarkSecondsinteger—no—
windowingenumnone | event-time | processing-timenonone
Rules for this kind · 1
windowed-aggregation-without-watermark

Event-time windows need a watermark to know when a window is complete. Without one the processor either waits forever or closes windows early and silently drops late events.

  • — all of these hold:
  • — the node's `windowing` is "event-time"
  • — the node's `watermarkSeconds` has no value
Components · 34
Source
# yaml-language-server: $schema=../schema/kind.schema.json
# Continuous computation over one or more streams (Flink, Samza, Kafka Streams, Dataflow).
# watermarkSeconds is optional with no default so windowed-aggregation-without-watermark can fire.
schemaVersion: "1"
type: "kind"
id: "stream-processor"
category: "messaging"
properties:
  windowing:
    type: "enum"
    values: ["none", "event-time", "processing-time"]
    default: "none"
  watermarkSeconds:
    type: "integer"
  checkpointIntervalSeconds:
    type: "integer"
  exactlyOnce:
    type: "boolean"
    default: false
  stateBackend:
    type: "enum"
    values: ["memory", "rocksdb", "external"]
    default: "memory"
  lateDataPolicy:
    type: "enum"
    values: ["drop", "shift", "sideline"]
  instances:
    type: "integer"
  managed:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/kinds/stream-processor.md