Skip to content

Commit 4529ddd

Browse files
committed
fix(udb): revamp udb api
1 parent e7ac143 commit 4529ddd

File tree

127 files changed

+2840
-4915
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+2840
-4915
lines changed

Cargo.lock

Lines changed: 4 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
[workspace]
33
resolver = "2"
4-
members = ["packages/common/api-builder","packages/common/api-client","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/udb-util","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner-ws","packages/core/pegboard-serverless","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/internal","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol","sdks/rust/ups-protocol"]
4+
members = ["packages/common/api-builder","packages/common/api-client","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner-ws","packages/core/pegboard-serverless","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/internal","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/data","sdks/rust/epoxy-protocol","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol","sdks/rust/ups-protocol"]
55

66
[workspace.package]
77
version = "0.0.1"
@@ -318,9 +318,6 @@ path = "packages/common/test-deps-docker"
318318
[workspace.dependencies.rivet-types]
319319
path = "packages/common/types"
320320

321-
[workspace.dependencies.udb-util]
322-
path = "packages/common/udb-util"
323-
324321
[workspace.dependencies.universaldb]
325322
path = "packages/common/universaldb"
326323

packages/common/gasoline/core/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ tokio-util.workspace = true
3939
tokio.workspace = true
4040
tracing-logfmt.workspace = true
4141
tracing-opentelemetry.workspace = true
42-
udb-util.workspace = true
4342
universaldb.workspace = true
4443
tracing-subscriber = { workspace = true, features = ["env-filter"] }
4544
tracing.workspace = true

packages/common/gasoline/core/src/ctx/workflow.rs

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -671,34 +671,35 @@ impl WorkflowCtx {
671671
exec.execute(self).await
672672
}
673673

674-
/// Tests if the given error is unrecoverable. If it is, allows the user to run recovery code safely.
675-
/// Should always be used when trying to handle activity errors manually.
676-
#[tracing::instrument(skip_all)]
677-
pub fn catch_unrecoverable<T>(&mut self, res: Result<T>) -> Result<Result<T>> {
678-
match res {
679-
Err(err) => {
680-
// TODO: This should check .chain() for the error
681-
match err.downcast::<WorkflowError>() {
682-
Ok(inner_err) => {
683-
// Despite "history diverged" errors being unrecoverable, they should not have be returned
684-
// by this function because the state of the history is already messed up and no new
685-
// workflow items should be run.
686-
if !inner_err.is_recoverable()
687-
&& !matches!(inner_err, WorkflowError::HistoryDiverged(_))
688-
{
689-
self.cursor.inc();
690-
691-
Ok(Err(inner_err.into()))
692-
} else {
693-
Err(inner_err.into())
694-
}
695-
}
696-
Err(err) => Err(err),
697-
}
698-
}
699-
Ok(x) => Ok(Ok(x)),
700-
}
701-
}
674+
// TODO: Replace with some method on WorkflowError
675+
// /// Tests if the given error is unrecoverable. If it is, allows the user to run recovery code safely.
676+
// /// Should always be used when trying to handle activity errors manually.
677+
// #[tracing::instrument(skip_all)]
678+
// pub fn catch_unrecoverable<T>(&mut self, res: Result<T>) -> Result<Result<T>> {
679+
// match res {
680+
// Err(err) => {
681+
// // TODO: This should check .chain() for the error
682+
// match err.downcast::<WorkflowError>() {
683+
// Ok(inner_err) => {
684+
// // Despite "history diverged" errors being unrecoverable, they should not have be returned
685+
// // by this function because the state of the history is already messed up and no new
686+
// // workflow items should be run.
687+
// if !inner_err.is_recoverable()
688+
// && !matches!(inner_err, WorkflowError::HistoryDiverged(_))
689+
// {
690+
// self.cursor.inc();
691+
692+
// Ok(Err(inner_err.into()))
693+
// } else {
694+
// Err(inner_err.into())
695+
// }
696+
// }
697+
// Err(err) => Err(err),
698+
// }
699+
// }
700+
// Ok(x) => Ok(Ok(x)),
701+
// }
702+
// }
702703

703704
/// Creates a signal builder.
704705
pub fn signal<T: Signal + Serialize>(&mut self, body: T) -> builder::signal::SignalBuilder<T> {

0 commit comments

Comments
 (0)