Skip to content

Commit e20443c

Browse files
authored
Convert some pre-generics map.Keys/.Values to their generic version (#6575)
Very straightforward "replace custom code with stdlib". Generics are great. I'm so glad we have them.
1 parent 60ac355 commit e20443c

File tree

3 files changed

+18
-199
lines changed

3 files changed

+18
-199
lines changed

service/history/execution/mutable_state_builder.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1457,18 +1457,18 @@ func (e *mutableStateBuilder) CloseTransactionAsMutation(
14571457
ExecutionInfo: e.executionInfo,
14581458
VersionHistories: e.versionHistories,
14591459

1460-
UpsertActivityInfos: convertUpdateActivityInfos(e.updateActivityInfos),
1461-
DeleteActivityInfos: convertInt64SetToSlice(e.deleteActivityInfos),
1462-
UpsertTimerInfos: convertUpdateTimerInfos(e.updateTimerInfos),
1463-
DeleteTimerInfos: convertStringSetToSlice(e.deleteTimerInfos),
1464-
UpsertChildExecutionInfos: convertUpdateChildExecutionInfos(e.updateChildExecutionInfos),
1465-
DeleteChildExecutionInfos: convertInt64SetToSlice(e.deleteChildExecutionInfos),
1466-
UpsertRequestCancelInfos: convertUpdateRequestCancelInfos(e.updateRequestCancelInfos),
1467-
DeleteRequestCancelInfos: convertInt64SetToSlice(e.deleteRequestCancelInfos),
1468-
UpsertSignalInfos: convertUpdateSignalInfos(e.updateSignalInfos),
1469-
DeleteSignalInfos: convertInt64SetToSlice(e.deleteSignalInfos),
1470-
UpsertSignalRequestedIDs: convertStringSetToSlice(e.updateSignalRequestedIDs),
1471-
DeleteSignalRequestedIDs: convertStringSetToSlice(e.deleteSignalRequestedIDs),
1460+
UpsertActivityInfos: maps.Values(e.updateActivityInfos),
1461+
DeleteActivityInfos: maps.Keys(e.deleteActivityInfos),
1462+
UpsertTimerInfos: maps.Values(e.updateTimerInfos),
1463+
DeleteTimerInfos: maps.Keys(e.deleteTimerInfos),
1464+
UpsertChildExecutionInfos: maps.Values(e.updateChildExecutionInfos),
1465+
DeleteChildExecutionInfos: maps.Keys(e.deleteChildExecutionInfos),
1466+
UpsertRequestCancelInfos: maps.Values(e.updateRequestCancelInfos),
1467+
DeleteRequestCancelInfos: maps.Keys(e.deleteRequestCancelInfos),
1468+
UpsertSignalInfos: maps.Values(e.updateSignalInfos),
1469+
DeleteSignalInfos: maps.Keys(e.deleteSignalInfos),
1470+
UpsertSignalRequestedIDs: maps.Keys(e.updateSignalRequestedIDs),
1471+
DeleteSignalRequestedIDs: maps.Keys(e.deleteSignalRequestedIDs),
14721472
NewBufferedEvents: e.updateBufferedEvents,
14731473
ClearBufferedEvents: e.clearBufferedEvents,
14741474

@@ -1544,12 +1544,12 @@ func (e *mutableStateBuilder) CloseTransactionAsSnapshot(
15441544
ExecutionInfo: e.executionInfo,
15451545
VersionHistories: e.versionHistories,
15461546

1547-
ActivityInfos: convertPendingActivityInfos(e.pendingActivityInfoIDs),
1548-
TimerInfos: convertPendingTimerInfos(e.pendingTimerInfoIDs),
1549-
ChildExecutionInfos: convertPendingChildExecutionInfos(e.pendingChildExecutionInfoIDs),
1550-
RequestCancelInfos: convertPendingRequestCancelInfos(e.pendingRequestCancelInfoIDs),
1551-
SignalInfos: convertPendingSignalInfos(e.pendingSignalInfoIDs),
1552-
SignalRequestedIDs: convertStringSetToSlice(e.pendingSignalRequestedIDs),
1547+
ActivityInfos: maps.Values(e.pendingActivityInfoIDs),
1548+
TimerInfos: maps.Values(e.pendingTimerInfoIDs),
1549+
ChildExecutionInfos: maps.Values(e.pendingChildExecutionInfoIDs),
1550+
RequestCancelInfos: maps.Values(e.pendingRequestCancelInfoIDs),
1551+
SignalInfos: maps.Values(e.pendingSignalInfoIDs),
1552+
SignalRequestedIDs: maps.Keys(e.pendingSignalRequestedIDs),
15531553

15541554
TransferTasks: e.insertTransferTasks,
15551555
ReplicationTasks: e.insertReplicationTasks,

service/history/execution/mutable_state_util.go

Lines changed: 0 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -50,43 +50,6 @@ func (policy TransactionPolicy) Ptr() *TransactionPolicy {
5050
return &policy
5151
}
5252

53-
// NOTE: do not use make(type, len(input))
54-
// since this will assume initial length being len(inputs)
55-
// always use make(type, 0, len(input))
56-
57-
func convertPendingActivityInfos(
58-
inputs map[int64]*persistence.ActivityInfo,
59-
) []*persistence.ActivityInfo {
60-
61-
outputs := make([]*persistence.ActivityInfo, 0, len(inputs))
62-
for _, item := range inputs {
63-
outputs = append(outputs, item)
64-
}
65-
return outputs
66-
}
67-
68-
func convertUpdateActivityInfos(
69-
inputs map[int64]*persistence.ActivityInfo,
70-
) []*persistence.ActivityInfo {
71-
72-
outputs := make([]*persistence.ActivityInfo, 0, len(inputs))
73-
for _, item := range inputs {
74-
outputs = append(outputs, item)
75-
}
76-
return outputs
77-
}
78-
79-
func convertInt64SetToSlice(
80-
inputs map[int64]struct{},
81-
) []int64 {
82-
83-
outputs := make([]int64, 0, len(inputs))
84-
for item := range inputs {
85-
outputs = append(outputs, item)
86-
}
87-
return outputs
88-
}
89-
9053
func convertSyncActivityInfos(
9154
activityInfos map[int64]*persistence.ActivityInfo,
9255
inputs map[int64]struct{},
@@ -107,105 +70,6 @@ func convertSyncActivityInfos(
10770
return outputs
10871
}
10972

110-
func convertPendingTimerInfos(
111-
inputs map[string]*persistence.TimerInfo,
112-
) []*persistence.TimerInfo {
113-
114-
outputs := make([]*persistence.TimerInfo, 0, len(inputs))
115-
for _, item := range inputs {
116-
outputs = append(outputs, item)
117-
}
118-
return outputs
119-
}
120-
121-
func convertUpdateTimerInfos(
122-
inputs map[string]*persistence.TimerInfo,
123-
) []*persistence.TimerInfo {
124-
125-
outputs := make([]*persistence.TimerInfo, 0, len(inputs))
126-
for _, item := range inputs {
127-
outputs = append(outputs, item)
128-
}
129-
return outputs
130-
}
131-
132-
func convertStringSetToSlice(
133-
inputs map[string]struct{},
134-
) []string {
135-
136-
outputs := make([]string, 0, len(inputs))
137-
for item := range inputs {
138-
outputs = append(outputs, item)
139-
}
140-
return outputs
141-
}
142-
143-
func convertPendingChildExecutionInfos(
144-
inputs map[int64]*persistence.ChildExecutionInfo,
145-
) []*persistence.ChildExecutionInfo {
146-
147-
outputs := make([]*persistence.ChildExecutionInfo, 0, len(inputs))
148-
for _, item := range inputs {
149-
outputs = append(outputs, item)
150-
}
151-
return outputs
152-
}
153-
154-
func convertUpdateChildExecutionInfos(
155-
inputs map[int64]*persistence.ChildExecutionInfo,
156-
) []*persistence.ChildExecutionInfo {
157-
158-
outputs := make([]*persistence.ChildExecutionInfo, 0, len(inputs))
159-
for _, item := range inputs {
160-
outputs = append(outputs, item)
161-
}
162-
return outputs
163-
}
164-
165-
func convertPendingRequestCancelInfos(
166-
inputs map[int64]*persistence.RequestCancelInfo,
167-
) []*persistence.RequestCancelInfo {
168-
169-
outputs := make([]*persistence.RequestCancelInfo, 0, len(inputs))
170-
for _, item := range inputs {
171-
outputs = append(outputs, item)
172-
}
173-
return outputs
174-
}
175-
176-
func convertUpdateRequestCancelInfos(
177-
inputs map[int64]*persistence.RequestCancelInfo,
178-
) []*persistence.RequestCancelInfo {
179-
180-
outputs := make([]*persistence.RequestCancelInfo, 0, len(inputs))
181-
for _, item := range inputs {
182-
outputs = append(outputs, item)
183-
}
184-
return outputs
185-
}
186-
187-
func convertPendingSignalInfos(
188-
inputs map[int64]*persistence.SignalInfo,
189-
) []*persistence.SignalInfo {
190-
191-
outputs := make([]*persistence.SignalInfo, 0, len(inputs))
192-
for _, item := range inputs {
193-
outputs = append(outputs, item)
194-
}
195-
return outputs
196-
}
197-
198-
func convertUpdateSignalInfos(
199-
inputs map[int64]*persistence.SignalInfo,
200-
) []*persistence.SignalInfo {
201-
202-
outputs := make([]*persistence.SignalInfo, 0, len(inputs))
203-
for _, item := range inputs {
204-
outputs = append(outputs, item)
205-
}
206-
return outputs
207-
}
208-
20973
func convertWorkflowRequests(inputs map[persistence.WorkflowRequest]struct{}) []*persistence.WorkflowRequest {
21074
outputs := make([]*persistence.WorkflowRequest, 0, len(inputs))
21175
for key := range inputs {

service/history/execution/mutable_state_util_test.go

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -465,51 +465,6 @@ func TestConvert(t *testing.T) {
465465
assert.Equal(t, int64(1), outputs[0].(*persistence.SyncActivityTask).ScheduledID)
466466
assert.Equal(t, int64(1), outputs[0].GetVersion())
467467
})
468-
469-
t.Run("convertUpdateRequestCancelInfos", func(t *testing.T) {
470-
key := int64(0)
471-
inputs := map[int64]*persistence.RequestCancelInfo{key: {}}
472-
outputs := convertUpdateRequestCancelInfos(inputs)
473-
assert.NotNil(t, outputs)
474-
assert.Equal(t, 1, len(outputs))
475-
assert.Equal(t, inputs[key], outputs[0])
476-
})
477-
478-
t.Run("convertPendingRequestCancelInfos", func(t *testing.T) {
479-
key := int64(0)
480-
inputs := map[int64]*persistence.RequestCancelInfo{key: {}}
481-
outputs := convertPendingRequestCancelInfos(inputs)
482-
assert.NotNil(t, outputs)
483-
assert.Equal(t, 1, len(outputs))
484-
assert.Equal(t, inputs[key], outputs[0])
485-
})
486-
487-
t.Run("convertInt64SetToSlice", func(t *testing.T) {
488-
key := int64(0)
489-
inputs := map[int64]struct{}{key: {}}
490-
outputs := convertInt64SetToSlice(inputs)
491-
assert.NotNil(t, outputs)
492-
assert.Equal(t, 1, len(outputs))
493-
assert.Equal(t, key, outputs[0])
494-
})
495-
496-
t.Run("convertUpdateChildExecutionInfos", func(t *testing.T) {
497-
key := int64(0)
498-
inputs := map[int64]*persistence.ChildExecutionInfo{key: {}}
499-
outputs := convertUpdateChildExecutionInfos(inputs)
500-
assert.NotNil(t, outputs)
501-
assert.Equal(t, 1, len(outputs))
502-
assert.Equal(t, inputs[key], outputs[0])
503-
})
504-
505-
t.Run("convertUpdateSignalInfos", func(t *testing.T) {
506-
key := int64(0)
507-
inputs := map[int64]*persistence.SignalInfo{key: {}}
508-
outputs := convertUpdateSignalInfos(inputs)
509-
assert.NotNil(t, outputs)
510-
assert.Equal(t, 1, len(outputs))
511-
assert.Equal(t, inputs[key], outputs[0])
512-
})
513468
}
514469

515470
func TestScheduleDecision(t *testing.T) {

0 commit comments

Comments
 (0)