You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* update description and logs for timeout
* minor fix
* go format fix
* fix
* Update changes.md
* Update the flag description in release note
* remove whitespace
* Update CHANGES.md
slightly updated the description
* Update CHANGES.md
---------
Co-authored-by: tvalentyn <tvalentyn@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CHANGES.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,9 @@
81
81
Beam now supports data enrichment capabilities using SQL databases, with built-in support for:
82
82
- Managed PostgreSQL, MySQL, and Microsoft SQL Server instances on CloudSQL
83
83
- Unmanaged SQL database instances not hosted on CloudSQL (e.g., self-hosted or on-premises databases)
84
+
* Added a pipeline option to specify the processing timeout for a single element by any PTransform (Java/Python/Go) ([#35174](https://github.com/apache/beam/issues/35174)).
85
+
- When specified, the SDK harness automatically restarts if an element takes too long to process. Beam runner may then retry processing of the same work item.
86
+
- Use the `--element_processing_timeout_minutes` option to reduce the chance of having stalled pipelines due to unexpected cases of slow processing, where slowness might not happen again if processing of the same element is retried.
Copy file name to clipboardExpand all lines: sdks/go/pkg/beam/core/metrics/sampler.go
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -63,11 +63,11 @@ func (s *StateSampler) Sample(ctx context.Context, t time.Duration) error {
63
63
}
64
64
65
65
ifs.millisSinceLastTransition>s.nextLogTime {
66
-
log.Infof(ctx, "Operation ongoing in transform %v for at least %v ms without outputting or completing in state %v", ps.pid, s.millisSinceLastTransition, getState(ps.state))
66
+
log.Infof(ctx, "Operation ongoing in transform %v for at least %v without outputting or completing in state %v", ps.pid, s.millisSinceLastTransition, getState(ps.state))
returnerrors.Errorf("Operation ongoing in transform %v for at least %v ms without outputting or completing in state %v, the SDK harness will be terminated and restarted", ps.pid, s.millisSinceLastTransition, getState(ps.state))
70
+
returnerrors.Errorf("Processing of an element in transform %v has exceeded the specified timeout of %v without outputting or completing in state %v, SDK harness will be terminated", ps.pid, s.restartLullTimeout, getState(ps.state))
Copy file name to clipboardExpand all lines: sdks/go/pkg/beam/options/jobopts/options.go
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -102,7 +102,9 @@ var (
102
102
ResourceHintsstringSlice
103
103
104
104
// ElementProcessingTimeout flag to set the timeout for processing an element in a PTransform operation. If set to -1, there is no timeout.
105
-
ElementProcessingTimeout=flag.Duration("element_processing_timeout", -1, "The timeout for processing an element in a PTransform operation. If set to -1, there is no timeout.")
0 commit comments