-
Notifications
You must be signed in to change notification settings - Fork 111
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: kill-switch when buffer is full (#1034)
Signed-off-by: Vigith Maurice <vigith@gmail.com>
- Loading branch information
Showing
3 changed files
with
40 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Edge Tuning | ||
|
||
## Drop message onFull | ||
|
||
We need to have an edge level setting to drop the messages if the `buffer.isFull == true`. Even if the UDF or UDSink drops | ||
a message due to some internal error in the user-defined code, the processing latency will spike up causing a natural | ||
back pressure. A kill switch to drop messages can help alleviate/avoid any repercussions on the rest of the DAG. | ||
|
||
This setting is an edge-level setting and can be enabled by `onFull` and the default is `retryUntilSuccess` (other option | ||
is `discardLatest`). | ||
|
||
This is a **data loss scenario** but can be useful in cases where we are doing user-introduced experimentations, | ||
like A/B testing, on the pipeline. It is totally okay for the experimentation side of the DAG to have data loss while | ||
the production is unaffected. | ||
|
||
### discardLatest | ||
|
||
Setting `onFull` to `discardLatest` will drop the message on the floor if the edge is full. | ||
|
||
```yaml | ||
edges: | ||
- from: a | ||
to: b | ||
onFull: discardLatest | ||
``` | ||
### retryUntilSuccess | ||
The default setting for `onFull` in `retryUntilSuccess` which will make sure the message is retried until successful. | ||
|
||
```yaml | ||
edges: | ||
- from: a | ||
to: b | ||
onFull: retryUntilSuccess | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters