docs(pipeline): align worker and storage contracts
This commit is contained in:
@@ -102,6 +102,7 @@ The worker SHALL disable automatic offset storage, commit explicit next offsets,
|
||||
#### Scenario: Valid record precedes an invalid record
|
||||
- **WHEN** an invalid record follows buffered valid records
|
||||
- **THEN** flush and commit those valid records before acknowledging and committing the invalid record to DLQ
|
||||
- **THEN** route the invalid record to DLQ and defer committing its offset until buffered valid records are flushed, or commit immediately if no preceding uncommitted records exist on that partition
|
||||
|
||||
#### Scenario: Destination or commit failure
|
||||
- **WHEN** DLQ delivery or any partition commit fails
|
||||
@@ -109,7 +110,8 @@ The worker SHALL disable automatic offset storage, commit explicit next offsets,
|
||||
|
||||
#### Scenario: Exhausted ClickHouse retries
|
||||
- **WHEN** three configured insert attempts fail
|
||||
- **THEN** publish original vendor payloads with ch_insert_failed and commit only after all DLQ deliveries succeed
|
||||
- **THEN** publish original vendor payloads with `normalization_error` and commit only after all DLQ deliveries succeed
|
||||
- **THEN** publish original vendor payloads with normalization_error and commit only after all DLQ deliveries succeed
|
||||
|
||||
### Requirement: Storage-safe normalization
|
||||
The worker SHALL reject numeric booleans, fractional numeric fields, out-of-range UInt64 and UInt32 values including total bytes, invalid IPv4, and timestamps outside DateTime range without crashing.
|
||||
|
||||
Reference in New Issue
Block a user