From c550d437f7c425faf886b4eaeb63bb43458ab4b6 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Wed, 20 May 2026 19:34:27 +0200 Subject: [PATCH 1/3] feat(taskbroker): Add delay_on_retry to SetTaskStatusRequest Add delay_on_retry field to SetTaskStatusRequest so workers can communicate retry backoff delays for tasks from raw topics. Co-Authored-By: Claude Opus 4.5 --- proto/sentry_protos/taskbroker/v1/taskbroker.proto | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proto/sentry_protos/taskbroker/v1/taskbroker.proto b/proto/sentry_protos/taskbroker/v1/taskbroker.proto index bb17e313..82a00528 100644 --- a/proto/sentry_protos/taskbroker/v1/taskbroker.proto +++ b/proto/sentry_protos/taskbroker/v1/taskbroker.proto @@ -131,6 +131,11 @@ message SetTaskStatusRequest { // to communicate the retry policy for tasks from raw topics that // don't have retry_state embedded in the message. optional uint32 max_attempts = 4; + + // Duration in seconds to wait before retrying the task. + // When status is RETRY and this field is set, the broker will update + // the activation's retry_state.delay_on_retry with this value. + optional uint64 delay_on_retry = 5; } message SetTaskStatusResponse { From 0fb622b2079c559118fd30092da90b52165a7b09 Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Wed, 20 May 2026 17:37:38 +0000 Subject: [PATCH 2/3] chore: Regenerate Rust bindings --- Cargo.lock | 2 +- rust/src/sentry_protos.taskbroker.v1.rs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index d63f4ff0..14bd82d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -717,7 +717,7 @@ checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "sentry_protos" -version = "0.8.31" +version = "0.10.0" dependencies = [ "prost", "prost-types", diff --git a/rust/src/sentry_protos.taskbroker.v1.rs b/rust/src/sentry_protos.taskbroker.v1.rs index 2d234096..1fa5cc51 100644 --- a/rust/src/sentry_protos.taskbroker.v1.rs +++ b/rust/src/sentry_protos.taskbroker.v1.rs @@ -113,6 +113,11 @@ pub struct SetTaskStatusRequest { /// don't have retry_state embedded in the message. #[prost(uint32, optional, tag = "4")] pub max_attempts: ::core::option::Option, + /// Duration in seconds to wait before retrying the task. + /// When status is RETRY and this field is set, the broker will update + /// the activation's retry_state.delay_on_retry with this value. + #[prost(uint64, optional, tag = "5")] + pub delay_on_retry: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct SetTaskStatusResponse { From 71229b1bf4394953706a7cb364073404509b3981 Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Wed, 20 May 2026 18:18:12 +0000 Subject: [PATCH 3/3] chore: Regenerate Rust bindings --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 3016fc3e..14bd82d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -717,7 +717,7 @@ checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "sentry_protos" -version = "0.9.0" +version = "0.10.0" dependencies = [ "prost", "prost-types",