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

uber / cadence / 01909e15-00cc-4a94-bf01-3784d6403d00
71%
master: 72%

Build:
Build:
LAST BUILD BRANCH: fixit
DEFAULT BRANCH: master
Ran 10 Jul 2024 08:13PM UTC
Jobs 1
Files 720
Run time 3min
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.431% (-0.1%) from 71.557%
01909e15-00cc-4a94-bf01-3784d6403d00

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%)

330 existing lines in 30 files now uncovered.

104674 of 146539 relevant lines covered (71.43%)

2619.56 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.17
-1.61% 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.13
-0.41% service/history/shard/context.go
2
93.06
-2.78% common/mapq/types/policy_collection.go
2
88.06
-1.0% common/task/weighted_round_robin_task_scheduler.go
2
73.23
-1.57% service/matching/tasklist/db.go
2
77.05
0.6% service/matching/tasklist/task_list_manager.go
2
73.68
-2.11% common/persistence/sql/sqlplugin/mysql/task.go
2
80.87
-0.49% common/persistence/metered.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
84.54
1.03% common/task/fifo_task_scheduler.go
3
78.26
-0.2% service/history/execution/mutable_state_builder.go
4
87.25
0.61% service/history/task/transfer_standby_task_executor.go
4
96.43
0.04% service/history/handler/handler.go
4
75.68
-0.06% service/frontend/api/handler.go
4
77.66
-0.82% service/history/queue/timer_queue_processor_base.go
5
71.17
-1.61% 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
9
75.86
-2.39% service/matching/tasklist/task_reader.go
11
51.52
-11.11% common/collection/ordered_map.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 01909e15-00cc-4a94-bf01-3784d6403d00.1 10 Jul 2024 08:13PM UTC 720
71.43
Source Files on build 01909e15-00cc-4a94-bf01-3784d6403d00
  • Tree
  • List 720
  • Changed 317
  • Source Changed 0
  • Coverage Changed 56
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 03d9a2e3 on github
  • Prev Build on master (#019056DC...)
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