Skip to content

Commit e3f652e

Browse files
authored
feat(domain multi-tenancy): Pull latest idl changes (#7723)
<!-- 1-2 line summary of WHAT changed technically: - Always link the relevant projects GitHub issue, unless it is a minor bugfix - Good: "Modified FailoverDomain mapper to allow null ActiveClusterName #320" - Bad: "added nil check" --> **What changed?** Pull latest idl changes and update internal types to include the task list fields introduced in the idl changes. #7724 <!-- Your goal is to provide all the required context for a future maintainer to understand the reasons for making this change (see https://cbea.ms/git-commit/#why-not-how). How did this work previously (and what was wrong with it)? What has changed, and why did you solve it this way? - Good: "Active-active domains have independent cluster attributes per region. Previously, modifying cluster attributes required spedifying the default ActiveClusterName which updates the global domain default. This prevents operators from updating regional configurations without affecting the primary cluster designation. This change allows attribute updates to be independent of active cluster selection." - Bad: "Improves domain handling" --> **Why?** Update IDL <!-- Include specific test commands and setup. Please include the exact commands such that another maintainer or contributor can reproduce the test steps taken. - e.g Unit test commands with exact invocation `go test -v ./common/types/mapper/proto -run TestFailoverDomainRequest` - For integration tests include setup steps and test commands Example: "Started local server with `./cadence start`, then ran `make test_e2e`" - For local simulation testing include setup steps for the server and how you ran the tests - Good: Full commands that reviewers can copy-paste to verify - Bad: "Tested locally" or "Added tests" --> **How did you test it?** unit test `cd common/persistence/serialization && go test ./...` <!-- If there are risks that the release engineer should know about document them here. For example: - Has an API/IDL been modified? Is it backwards/forwards compatible? If not, what are the repecussions? - Has a schema change been introduced? Is it possible to roll back? - Has a feature flag been re-used for a new purpose? - Is there a potential performance concern? Is the change modifying core task processing logic? - If truly N/A, you can mark it as such --> **Potential risks** N/A <!-- If this PR completes a user facing feature or changes functionality add release notes here. Your release notes should allow a user and the release engineer to understand the changes with little context. Always ensure that the description contains a link to the relevant GitHub issue. --> **Release notes** <!-- Consider whether this change requires documentation updates in the Cadence-Docs repo - If yes: mention what needs updating (or link to docs PR in cadence-docs repo) - If in doubt, add a note about potential doc needs - Only mark N/A if you're certain no docs are affected --> **Documentation Changes** N/A --- ## Reviewer Validation **PR Description Quality** (check these before reviewing code): - [x] **"What changed"** provides a clear 1-2 line summary - [x] Project Issue is linked - [x] **"Why"** explains the full motivation with sufficient context - [x] **Testing is documented:** - [x] Unit test commands are included (with exact `go test` invocation) - [x] Integration test setup/commands included (if integration tests were run) - [x] Canary testing details included (if canary was mentioned) - [x] **Potential risks** section is thoughtfully filled out (or legitimately N/A) - [x] **Release notes** included if this completes a user-facing feature - [x] **Documentation** needs are addressed (or noted if uncertain)
1 parent af3fa83 commit e3f652e

File tree

15 files changed

+565
-337
lines changed

15 files changed

+565
-337
lines changed

.gen/go/shared/shared.go

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

.gen/go/sqlblobs/sqlblobs.go

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

.gen/proto/history/v1/service.pb.yarpc.go

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

.gen/proto/matching/v1/service.pb.yarpc.go

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

cmd/server/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ require (
4040
github.com/startreedata/pinot-client-go v0.2.0 // latest release supports pinot v0.12.0 which is also internal version
4141
github.com/stretchr/testify v1.10.0
4242
github.com/uber-go/tally v3.3.15+incompatible
43-
github.com/uber/cadence-idl v0.0.0-20260213213208-6fb822717d01
43+
github.com/uber/cadence-idl v0.0.0-20260219170204-8b3ad9e7091e
4444
github.com/uber/ringpop-go v0.8.5 // indirect
4545
github.com/uber/tchannel-go v1.22.2 // indirect
4646
github.com/valyala/fastjson v1.4.1 // indirect

cmd/server/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,8 @@ github.com/uber-go/tally v3.3.12+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyu
414414
github.com/uber-go/tally v3.3.15+incompatible h1:9hLSgNBP28CjIaDmAuRTq9qV+UZY+9PcvAkXO4nNMwg=
415415
github.com/uber-go/tally v3.3.15+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyufu1cEi0jdVnRdxvjnmU=
416416
github.com/uber/cadence-idl v0.0.0-20211111101836-d6b70b60eb8c/go.mod h1:oyUK7GCNCRHCCyWyzifSzXpVrRYVBbAMHAzF5dXiKws=
417-
github.com/uber/cadence-idl v0.0.0-20260213213208-6fb822717d01 h1:qHVlPoKvvtivJoSqQiQr6fBGK+SBjiApbM8V+Iw+VRU=
418-
github.com/uber/cadence-idl v0.0.0-20260213213208-6fb822717d01/go.mod h1:oyUK7GCNCRHCCyWyzifSzXpVrRYVBbAMHAzF5dXiKws=
417+
github.com/uber/cadence-idl v0.0.0-20260219170204-8b3ad9e7091e h1:RAU4TEIdmMI4FE/a3hCoYInxJ/McUBqFfjSChPFNMa4=
418+
github.com/uber/cadence-idl v0.0.0-20260219170204-8b3ad9e7091e/go.mod h1:oyUK7GCNCRHCCyWyzifSzXpVrRYVBbAMHAzF5dXiKws=
419419
github.com/uber/jaeger-client-go v2.22.1+incompatible h1:NHcubEkVbahf9t3p75TOCR83gdUHXjRJvjoBh1yACsM=
420420
github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
421421
github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw=

common/persistence/serialization/getters.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,6 +1574,14 @@ func (t *TransferTaskInfo) GetVisibilityTimestamp() time.Time {
15741574
return time.Unix(0, 0)
15751575
}
15761576

1577+
// GetOriginalTaskList internal sql blob getter
1578+
func (t *TransferTaskInfo) GetOriginalTaskList() (o string) {
1579+
if t != nil {
1580+
return t.OriginalTaskList
1581+
}
1582+
return
1583+
}
1584+
15771585
// GetDomainID internal sql blob getter
15781586
func (t *TimerTaskInfo) GetDomainID() (o []byte) {
15791587
if t != nil && t.DomainID != nil {
@@ -1638,6 +1646,14 @@ func (t *TimerTaskInfo) GetEventID() (o int64) {
16381646
return
16391647
}
16401648

1649+
// GetTaskList internal sql blob getter
1650+
func (t *TimerTaskInfo) GetTaskList() (o string) {
1651+
if t != nil {
1652+
return t.TaskList
1653+
}
1654+
return
1655+
}
1656+
16411657
// GetDomainID internal sql blob getter
16421658
func (t *ReplicationTaskInfo) GetDomainID() (o []byte) {
16431659
if t != nil {

common/persistence/serialization/getters_fixtures_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ var expectedNil = map[string]map[string]any{
115115
"GetScheduleID": int64(0),
116116
"GetVersion": int64(0),
117117
"GetVisibilityTimestamp": zeroUnix,
118+
"GetOriginalTaskList": "",
118119
},
119120
"*serialization.TimerTaskInfo": {
120121
"GetDomainID": []uint8(nil),
@@ -125,6 +126,7 @@ var expectedNil = map[string]map[string]any{
125126
"GetTimeoutType": int16(0),
126127
"GetVersion": int64(0),
127128
"GetWorkflowID": "",
129+
"GetTaskList": "",
128130
},
129131
"*serialization.ReplicationTaskInfo": {
130132
"GetBranchToken": []uint8(nil),
@@ -360,6 +362,7 @@ var expectedEmpty = map[string]map[string]any{
360362
"GetScheduleID": int64(0),
361363
"GetVersion": int64(0),
362364
"GetVisibilityTimestamp": time.Time{},
365+
"GetOriginalTaskList": "",
363366
},
364367
"*serialization.TimerTaskInfo": {
365368
"GetDomainID": []uint8(nil),
@@ -370,6 +373,7 @@ var expectedEmpty = map[string]map[string]any{
370373
"GetTimeoutType": int16(0),
371374
"GetVersion": int64(0),
372375
"GetWorkflowID": "",
376+
"GetTaskList": "",
373377
},
374378
"*serialization.ReplicationTaskInfo": {
375379
"GetBranchToken": []uint8(nil),
@@ -607,6 +611,7 @@ var expectedNonEmpty = map[string]map[string]any{
607611
"GetScheduleID": int64(2),
608612
"GetVersion": int64(3),
609613
"GetVisibilityTimestamp": taskInfoCreateTime,
614+
"GetOriginalTaskList": "originalTaskList",
610615
},
611616
"*serialization.TimerTaskInfo": {
612617
"GetDomainID": []byte(taskDomainID),
@@ -617,6 +622,7 @@ var expectedNonEmpty = map[string]map[string]any{
617622
"GetTimeoutType": int16(2),
618623
"GetVersion": int64(3),
619624
"GetWorkflowID": "workflowID",
625+
"GetTaskList": "taskList",
620626
},
621627
"*serialization.ReplicationTaskInfo": {
622628
"GetBranchToken": []byte("branchToken"),

common/persistence/serialization/getters_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ func TestGettersForInfos(t *testing.T) {
165165
ScheduleID: 2,
166166
Version: 3,
167167
VisibilityTimestamp: taskInfoCreateTime,
168+
OriginalTaskList: "originalTaskList",
168169
},
169170
&TimerTaskInfo{
170171
DomainID: taskDomainID,
@@ -175,6 +176,7 @@ func TestGettersForInfos(t *testing.T) {
175176
Version: 3,
176177
ScheduleAttempt: 4,
177178
EventID: 5,
179+
TaskList: "taskList",
178180
},
179181
&ReplicationTaskInfo{
180182
DomainID: replicationTaskDomainID,

common/persistence/serialization/interfaces.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,7 @@ type (
304304
ScheduleID int64
305305
Version int64
306306
VisibilityTimestamp time.Time
307+
OriginalTaskList string
307308
}
308309

309310
// CrossClusterTaskInfo blob in a serialization agnostic format
@@ -323,6 +324,7 @@ type (
323324
Version int64
324325
ScheduleAttempt int64
325326
EventID int64
327+
TaskList string
326328
}
327329

328330
// ReplicationTaskInfo blob in a serialization agnostic format

0 commit comments

Comments
 (0)