Skip to content

Commit c903538

Browse files
authored
Make shadowOptions optional in workerOptions (#1087)
1 parent d9fa282 commit c903538

File tree

4 files changed

+12
-32
lines changed

4 files changed

+12
-32
lines changed

internal/internal_worker_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ func createWorkerWithThrottle(
382382

383383
if shadowOptions != nil {
384384
workerOptions.EnableShadowWorker = true
385-
workerOptions.ShadowOptions = shadowOptions
385+
workerOptions.ShadowOptions = *shadowOptions
386386
}
387387

388388
// Start Worker.

internal/worker.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,9 @@ type (
218218
// default: false
219219
EnableShadowWorker bool
220220

221-
// Required if EnableShadowWorker is set to true
222-
// Configures workflow shadowing details
223-
// default: no defaults
224-
ShadowOptions *ShadowOptions
221+
// Optional: Configures shadowing workflow
222+
// default: please check the documentation for ShadowOptions for default options
223+
ShadowOptions ShadowOptions
225224
}
226225
)
227226

internal/workflow_shadower_worker.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ package internal
2222

2323
import (
2424
"context"
25-
"errors"
2625

2726
"github.com/opentracing/opentracing-go"
2827
"github.com/pborman/uuid"
@@ -41,15 +40,15 @@ type (
4140
service workflowserviceclient.Interface
4241
domain string
4342
taskList string
44-
options *ShadowOptions
43+
options ShadowOptions
4544
logger *zap.Logger
4645
}
4746
)
4847

4948
func newShadowWorker(
5049
service workflowserviceclient.Interface,
5150
domain string,
52-
shadowOptions *ShadowOptions,
51+
shadowOptions ShadowOptions,
5352
params workerExecutionParameters,
5453
registry *registry,
5554
) *shadowWorker {
@@ -109,10 +108,6 @@ func newShadowWorker(
109108
}
110109

111110
func (sw *shadowWorker) Start() error {
112-
if sw.options == nil {
113-
return errors.New("shadowerOptions must be specified when shadow worker is enabled")
114-
}
115-
116111
if err := sw.options.validateAndPopulateFields(); err != nil {
117112
return err
118113
}

internal/workflow_shadower_worker_test.go

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func (s *shadowWorkerSuite) TestNewShadowWorker() {
6464
shadowWorker := newShadowWorker(
6565
s.mockService,
6666
testDomain,
67-
&ShadowOptions{},
67+
ShadowOptions{},
6868
workerExecutionParameters{
6969
TaskList: testTaskList,
7070
},
@@ -88,25 +88,11 @@ func (s *shadowWorkerSuite) TestNewShadowWorker() {
8888
s.Contains(taskList, testDomain)
8989
}
9090

91-
func (s *shadowWorkerSuite) TestStartShadowWorker_Failed_ShadowOptionNotSpecified() {
92-
shadowWorker := newShadowWorker(
93-
s.mockService,
94-
testDomain,
95-
nil,
96-
workerExecutionParameters{
97-
TaskList: testTaskList,
98-
},
99-
newRegistry(),
100-
)
101-
102-
s.Error(shadowWorker.Start())
103-
}
104-
10591
func (s *shadowWorkerSuite) TestStartShadowWorker_Failed_InvalidShadowOption() {
10692
shadowWorker := newShadowWorker(
10793
s.mockService,
10894
testDomain,
109-
&ShadowOptions{
95+
ShadowOptions{
11096
Mode: ShadowModeContinuous, // exit condition is not specified
11197
},
11298
workerExecutionParameters{
@@ -126,7 +112,7 @@ func (s *shadowWorkerSuite) TestStartShadowWorker_Failed_DomainNotExist() {
126112
shadowWorker := newShadowWorker(
127113
s.mockService,
128114
testDomain,
129-
&ShadowOptions{},
115+
ShadowOptions{},
130116
workerExecutionParameters{
131117
TaskList: testTaskList,
132118
},
@@ -144,7 +130,7 @@ func (s *shadowWorkerSuite) TestStartShadowWorker_Failed_TaskListNotSpecified()
144130
shadowWorker := newShadowWorker(
145131
s.mockService,
146132
testDomain,
147-
&ShadowOptions{},
133+
ShadowOptions{},
148134
workerExecutionParameters{},
149135
newRegistry(),
150136
)
@@ -164,7 +150,7 @@ func (s *shadowWorkerSuite) TestStartShadowWorker_Failed_StartWorkflowError() {
164150
shadowWorker := newShadowWorker(
165151
s.mockService,
166152
testDomain,
167-
&ShadowOptions{},
153+
ShadowOptions{},
168154
workerExecutionParameters{
169155
TaskList: testTaskList,
170156
},
@@ -200,7 +186,7 @@ func (s *shadowWorkerSuite) TestStartShadowWorker_Succeed() {
200186
shadowWorker := newShadowWorker(
201187
s.mockService,
202188
testDomain,
203-
&ShadowOptions{
189+
ShadowOptions{
204190
WorkflowQuery: workflowQuery,
205191
SamplingRate: samplingRate,
206192
Mode: shadowMode,

0 commit comments

Comments
 (0)