
Buffer node configuration
Buffer Node
Overview
The Buffer Node accumulates incoming payloads in a FIFO queue and automatically flushes them when either the item count or the serialized byte footprint crosses a configured threshold. Because the node persists its state between executions, it is well suited for batch processing, load smoothing, and integrating with downstream systems that expect grouped payloads instead of single records.
Core Functionality
What It Does
Buffer brings structure and resiliency to high-throughput pipelines by enabling:
1. Dual Flush Thresholds
Define Max Count and Max Bytes limits. When either capacity is reached, the node emits the buffered collection through the auto output port and resets its internal state.
2. Smart Overflow Handling
Choose how to respond when a single item exceeds Max Bytes: reject it, emit it immediately as a single-item batch, or use the Emit Solo alias for Passthrough behavior.
3. Automatic Item Normalization
Scalar values are wrapped into batches of one, while arrays are flattened into individual entries. Each item is serialized to JSON to determine its byte cost, ensuring predictable sizing regardless of the original payload shape.
4. Stateful Execution
Buffer contents (buffer) and byte totals (total_bytes) persist between runs. Internal locking protects the queue during concurrent executions so multiple workers can interact safely.
Configuration Options
Parameters Configuration
Settings Configuration
Basic Information
| Field | Type | Description |
|---|---|---|
| Node Label | String (Required) | Display name shown on the pipeline canvas |
| Description | String (Optional) | Notes that explain how buffered batches are used downstream |
Parameters (Dynamic Data)
| Field | Type | Default | Description |
|---|---|---|---|
| Max Count | integer | 100 | Maximum number of items stored before the buffer flushes. |
| Max Bytes | integer | 1048576 | Maximum serialized size (bytes) before an automatic flush. |
| Overflow Mode | string | reject | Behavior when a single item exceeds Max Bytes: Reject drops it and logs the overflow, Passthrough immediately forwards it downstream as a one-item batch, and Emit Solo behaves the same as Passthrough. |
Settings (Static Configuration)
| Field | Type | Default | Description |
|---|---|---|---|
| Retry on Fail | boolean | false | Retries the buffer when infrastructure errors interrupt flushing. |
| On Error | string | "Stop Pipeline" | "Stop Pipeline" halts the branch, "Continue Execution" forwards an error packet, "Retry Node" replays the node under retry rules. |
| Notes | string | "" | Document batching intent for operators. |
| Display Note in Pipeline | boolean | false | Shows notes directly on the canvas. |
Usage Examples
Example 1: Flush 50 Sensor Readings or 256 KB
| Field | Value |
|---|---|
| Max Count | 50 |
| Max Bytes | 262144 |
| Overflow Mode | reject |
| Retry on Fail | true |
| On Error | Retry Node |
The buffer emits as soon as it holds 50 sensor readings or their serialized size exceeds roughly 256 KB, keeping downstream batch APIs within limits.
Example 2: Pass Through Oversized Alerts
| Field | Value |
|---|---|
| Max Count | 200 |
| Max Bytes | 524288 |
| Overflow Mode | Passthrough |
| Notes | Large alerts must bypass batching. |
Any alert larger than 512 KB is forwarded immediately as a one-item batch, while other payloads continue accumulating until thresholds are met.
Example 3: Inspect Buffer State During a Run
| Field | Value |
|---|---|
| Manual Action | getState |
| Example Response | { "bufferCount": 37, "totalBytes": 81234, "overflowMode": "reject" } |
| Display Note in Pipeline | true |
Triggering getState lets operators view queued orders (e.g., {"id":"A-100","amount":125.4}) without flushing them, confirming that thresholds are tuned correctly.

