• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uber / cadence / 0190573d-ff12-4850-94f0-8c77deb099df
72%

Build:
DEFAULT BRANCH: master
Ran 27 Jun 2024 01:41AM UTC
Jobs 1
Files 720
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Jun 2024 01:09AM UTC coverage: 71.434% (-0.1%) from 71.557%
0190573d-ff12-4850-94f0-8c77deb099df

push

buildkite

web-flow
Refactor/removing cross cluster feature (#6121)

## What changed?

This mostly* removes the cross-cluster feature.

## Background
The Cross-cluster feature was the ability to launch and interact with child workflows in another domain. It included the ability to start child workflows and signal them. The feature allowed child workflows to be launched in the target domain even if it was active in another region.

## Problems
The feature itself was something that very very few of our customers apparently needed, with very few customers interested in the problem of launching child workflows in another cluster, and zero who weren’t able to simply use an activity to make an RPC call to the other domain as one would with any normal workflow.
The feature-itself was quite resource intensive: It was pull-based; spinning up a polling stack which polled the other cluster for work, similar to the replication stack. This polling behaviour made the latency characteristics fairly unpredictable and used considerable DB resources, to the point that we just turned it off. The Uber/Cadence team resolved that were there sufficient demand for the feature in the future, a push based mechanism would probably be significantly preferable.
The feature itself added a nontrivial amount of complexity to the codebase in a few areas such as task processing and domain error handling which introduced difficult to understand bugs such as the child workflow dropping error #5919

Decision to deprecate and alternatives
As of releases June 2024, the feature will be removed. The Cadence team is not aware of any users of the feature outside Uber (as it was broken until mid 2021 anyway), but as an FYI, it will cease to be available.

If this behaviour is desirable, an easy workaround is as previously mentioned: Use an activity to launch or signal the workflows in the other domain and block as needed.

PR details
This is a fairly high-risk refactor so it'll take some time to ... (continued)

118 of 134 new or added lines in 9 files covered. (88.06%)

324 existing lines in 28 files now uncovered.

104678 of 146539 relevant lines covered (71.43%)

2642.89 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
8.9
0.19% common/persistence/persistence-tests/persistenceTestBase.go
2
96.43
0.04% service/history/handler/handler.go
2
71.31
-1.47% service/history/task/transfer_active_task_executor.go
10
0.0
0.0% common/persistence/persistence-tests/shardPersistenceTest.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
78.93
0.39% service/history/shard/context.go
2
86.64
0.0% service/history/task/transfer_standby_task_executor.go
2
88.56
-0.5% common/task/weighted_round_robin_task_scheduler.go
2
73.23
-1.57% service/matching/tasklist/db.go
2
73.68
-2.11% common/persistence/sql/sqlplugin/mysql/task.go
2
80.87
-0.49% common/persistence/metered.go
2
90.91
-0.73% service/matching/tasklist/matcher.go
2
79.49
-2.56% common/persistence/sql/sqlplugin/mysql/db.go
3
50.46
-0.55% common/log/tag/tags.go
3
85.52
-1.01% common/persistence/nosql/nosql_task_store.go
3
77.87
-0.61% service/history/queue/timer_queue_processor_base.go
3
78.26
-0.2% service/history/execution/mutable_state_builder.go
4
96.43
0.04% service/history/handler/handler.go
4
75.68
-0.06% service/frontend/api/handler.go
5
71.31
-1.47% service/history/task/transfer_active_task_executor.go
6
91.41
-2.34% common/persistence/wrappers/errorinjectors/utils.go
7
82.64
-2.43% service/history/queue/processor_base.go
9
74.16
-5.06% service/history/engine/engineimpl/poll_mutable_state.go
11
51.52
-11.11% common/collection/ordered_map.go
11
75.33
-2.92% service/matching/tasklist/task_reader.go
13
0.0
-52.0% common/errors/domainNotActiveError.go
15
78.2
-5.64% common/persistence/sql/sqlplugin/mysql/execution.go
15
85.29
-14.71% common/persistence/tasks.go
15
77.95
-5.7% common/persistence/sql/sqlplugin/postgres/execution.go
26
81.13
-4.19% common/persistence/nosql/nosql_execution_store.go
36
60.29
-10.29% service/history/task/task_util.go
52
76.42
-7.21% client/history/client.go
68
79.7
-6.08% common/persistence/sql/sql_execution_store.go
Jobs
ID Job ID Ran Files Coverage
1 0190573d-ff12-4850-94f0-8c77deb099df.1 27 Jun 2024 01:41AM UTC 720
71.43
Source Files on build 0190573d-ff12-4850-94f0-8c77deb099df
  • Tree
  • List 720
  • Changed 314
  • Source Changed 0
  • Coverage Changed 55
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 03d9a2e3 on github
  • Prev Build on master (#019056DC...)
  • Next Build on master (#01905AEA...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc