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

uber / cadence / 0187fdd2-f4a4-4c9a-97b4-6604937bf7be

09 May 2023 12:23AM UTC coverage: 57.253% (-0.002%) from 57.255%
0187fdd2-f4a4-4c9a-97b4-6604937bf7be

Pull #5252

buildkite

David Porter
Merge branch 'master' into feature/zonal-partitioning
Pull Request #5252: Feature/zonal partitioning

1460 of 1460 new or added lines in 51 files covered. (100.0%)

86909 of 151799 relevant lines covered (57.25%)

2482.17 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/common/persistence/persistenceErrorInjectionClients.go
1
// Copyright (c) 2017-2020 Uber Technologies, Inc.
2
//
3
// Permission is hereby granted, free of charge, to any person obtaining a copy
4
// of this software and associated documentation files (the "Software"), to deal
5
// in the Software without restriction, including without limitation the rights
6
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
// copies of the Software, and to permit persons to whom the Software is
8
// furnished to do so, subject to the following conditions:
9
//
10
// The above copyright notice and this permission notice shall be included in
11
// all copies or substantial portions of the Software.
12
//
13
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
// THE SOFTWARE.
20

21
package persistence
22

23
import (
24
        "context"
25
        "math/rand"
26

27
        "github.com/uber/cadence/common/errors"
28
        "github.com/uber/cadence/common/log"
29
        "github.com/uber/cadence/common/log/tag"
30
)
31

32
var (
33
        // ErrFakeTimeout is a fake persistence timeout error.
34
        ErrFakeTimeout = &TimeoutError{Msg: "Fake Persistence Timeout Error."}
35
)
36

37
var (
38
        fakeErrors = []error{
39
                errors.ErrFakeServiceBusy,
40
                errors.ErrFakeInternalService,
41
                ErrFakeTimeout,
42
                errors.ErrFakeUnhandled,
43
        }
44
)
45

46
const (
47
        msgInjectedFakeErr = "Injected fake persistence error"
48
)
49

50
type (
51
        shardErrorInjectionPersistenceClient struct {
52
                persistence ShardManager
53
                errorRate   float64
54
                logger      log.Logger
55
        }
56

57
        workflowExecutionErrorInjectionPersistenceClient struct {
58
                persistence ExecutionManager
59
                errorRate   float64
60
                logger      log.Logger
61
        }
62

63
        taskErrorInjectionPersistenceClient struct {
64
                persistence TaskManager
65
                errorRate   float64
66
                logger      log.Logger
67
        }
68

69
        historyErrorInjectionPersistenceClient struct {
70
                persistence HistoryManager
71
                errorRate   float64
72
                logger      log.Logger
73
        }
74

75
        metadataErrorInjectionPersistenceClient struct {
76
                persistence DomainManager
77
                errorRate   float64
78
                logger      log.Logger
79
        }
80

81
        visibilityErrorInjectionPersistenceClient struct {
82
                persistence VisibilityManager
83
                errorRate   float64
84
                logger      log.Logger
85
        }
86

87
        queueErrorInjectionPersistenceClient struct {
88
                persistence QueueManager
89
                errorRate   float64
90
                logger      log.Logger
91
        }
92

93
        configStoreErrorInjectionPersistenceClient struct {
94
                persistence ConfigStoreManager
95
                errorRate   float64
96
                logger      log.Logger
97
        }
98
)
99

100
var _ ShardManager = (*shardErrorInjectionPersistenceClient)(nil)
101
var _ ExecutionManager = (*workflowExecutionErrorInjectionPersistenceClient)(nil)
102
var _ TaskManager = (*taskErrorInjectionPersistenceClient)(nil)
103
var _ HistoryManager = (*historyErrorInjectionPersistenceClient)(nil)
104
var _ DomainManager = (*metadataErrorInjectionPersistenceClient)(nil)
105
var _ VisibilityManager = (*visibilityErrorInjectionPersistenceClient)(nil)
106
var _ QueueManager = (*queueErrorInjectionPersistenceClient)(nil)
107
var _ ConfigStoreManager = (*configStoreErrorInjectionPersistenceClient)(nil)
108

109
// NewShardPersistenceErrorInjectionClient creates an error injection client to manage shards
110
func NewShardPersistenceErrorInjectionClient(
111
        persistence ShardManager,
112
        errorRate float64,
113
        logger log.Logger,
114
) ShardManager {
×
115
        return &shardErrorInjectionPersistenceClient{
×
116
                persistence: persistence,
×
117
                errorRate:   errorRate,
×
118
                logger:      logger,
×
119
        }
×
120
}
×
121

122
// NewWorkflowExecutionPersistenceErrorInjectionClient creates an error injection client to manage executions
123
func NewWorkflowExecutionPersistenceErrorInjectionClient(
124
        persistence ExecutionManager,
125
        errorRate float64,
126
        logger log.Logger,
127
) ExecutionManager {
×
128
        return &workflowExecutionErrorInjectionPersistenceClient{
×
129
                persistence: persistence,
×
130
                errorRate:   errorRate,
×
131
                logger:      logger,
×
132
        }
×
133
}
×
134

135
// NewTaskPersistenceErrorInjectionClient creates an error injection client to manage tasks
136
func NewTaskPersistenceErrorInjectionClient(
137
        persistence TaskManager,
138
        errorRate float64,
139
        logger log.Logger,
140
) TaskManager {
×
141
        return &taskErrorInjectionPersistenceClient{
×
142
                persistence: persistence,
×
143
                errorRate:   errorRate,
×
144
                logger:      logger,
×
145
        }
×
146
}
×
147

148
// NewHistoryPersistenceErrorInjectionClient creates an error injection HistoryManager client to manage workflow execution history
149
func NewHistoryPersistenceErrorInjectionClient(
150
        persistence HistoryManager,
151
        errorRate float64,
152
        logger log.Logger,
153
) HistoryManager {
×
154
        return &historyErrorInjectionPersistenceClient{
×
155
                persistence: persistence,
×
156
                errorRate:   errorRate,
×
157
                logger:      logger,
×
158
        }
×
159
}
×
160

161
// NewDomainPersistenceErrorInjectionClient creates an error injection DomainManager client to manage metadata
162
func NewDomainPersistenceErrorInjectionClient(
163
        persistence DomainManager,
164
        errorRate float64,
165
        logger log.Logger,
166
) DomainManager {
×
167
        return &metadataErrorInjectionPersistenceClient{
×
168
                persistence: persistence,
×
169
                errorRate:   errorRate,
×
170
                logger:      logger,
×
171
        }
×
172
}
×
173

174
// NewVisibilityPersistenceErrorInjectionClient creates an error injection client to manage visibility
175
func NewVisibilityPersistenceErrorInjectionClient(
176
        persistence VisibilityManager,
177
        errorRate float64,
178
        logger log.Logger,
179
) VisibilityManager {
×
180
        return &visibilityErrorInjectionPersistenceClient{
×
181
                persistence: persistence,
×
182
                errorRate:   errorRate,
×
183
                logger:      logger,
×
184
        }
×
185
}
×
186

187
// NewQueuePersistenceErrorInjectionClient creates an error injection client to manage queue
188
func NewQueuePersistenceErrorInjectionClient(
189
        persistence QueueManager,
190
        errorRate float64,
191
        logger log.Logger,
192
) QueueManager {
×
193
        return &queueErrorInjectionPersistenceClient{
×
194
                persistence: persistence,
×
195
                errorRate:   errorRate,
×
196
                logger:      logger,
×
197
        }
×
198
}
×
199

200
// NewConfigStoreErrorInjectionPersistenceClient creates an error injection client to manage config store
201
func NewConfigStoreErrorInjectionPersistenceClient(
202
        persistence ConfigStoreManager,
203
        errorRate float64,
204
        logger log.Logger,
205
) ConfigStoreManager {
×
206
        return &configStoreErrorInjectionPersistenceClient{
×
207
                persistence: persistence,
×
208
                errorRate:   errorRate,
×
209
                logger:      logger,
×
210
        }
×
211
}
×
212

213
func (p *shardErrorInjectionPersistenceClient) GetName() string {
×
214
        return p.persistence.GetName()
×
215
}
×
216

217
func (p *shardErrorInjectionPersistenceClient) CreateShard(
218
        ctx context.Context,
219
        request *CreateShardRequest,
220
) error {
×
221
        fakeErr := generateFakeError(p.errorRate)
×
222

×
223
        var persistenceErr error
×
224
        var forwardCall bool
×
225
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
226
                persistenceErr = p.persistence.CreateShard(ctx, request)
×
227
        }
×
228

229
        if fakeErr != nil {
×
230
                p.logger.Error(msgInjectedFakeErr, tag.StoreOperationCreateShard, tag.Error(fakeErr), tag.Bool(forwardCall), tag.StoreError(persistenceErr))
×
231
                return fakeErr
×
232
        }
×
233
        return persistenceErr
×
234
}
235

236
func (p *shardErrorInjectionPersistenceClient) GetShard(
237
        ctx context.Context,
238
        request *GetShardRequest,
239
) (*GetShardResponse, error) {
×
240
        fakeErr := generateFakeError(p.errorRate)
×
241

×
242
        var response *GetShardResponse
×
243
        var persistenceErr error
×
244
        var forwardCall bool
×
245
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
246
                response, persistenceErr = p.persistence.GetShard(ctx, request)
×
247
        }
×
248

249
        if fakeErr != nil {
×
250
                p.logger.Error(msgInjectedFakeErr, tag.StoreOperationGetShard, tag.Error(fakeErr), tag.Bool(forwardCall), tag.StoreError(persistenceErr))
×
251
                return nil, fakeErr
×
252
        }
×
253
        return response, persistenceErr
×
254
}
255

256
func (p *shardErrorInjectionPersistenceClient) UpdateShard(
257
        ctx context.Context,
258
        request *UpdateShardRequest,
259
) error {
×
260
        fakeErr := generateFakeError(p.errorRate)
×
261

×
262
        var persistenceErr error
×
263
        var forwardCall bool
×
264
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
265
                persistenceErr = p.persistence.UpdateShard(ctx, request)
×
266
        }
×
267

268
        if fakeErr != nil {
×
269
                p.logger.Error(msgInjectedFakeErr, tag.StoreOperationUpdateShard, tag.Error(fakeErr), tag.Bool(forwardCall), tag.StoreError(persistenceErr))
×
270
                return fakeErr
×
271
        }
×
272
        return persistenceErr
×
273
}
274

275
func (p *shardErrorInjectionPersistenceClient) Close() {
×
276
        p.persistence.Close()
×
277
}
×
278

279
func (p *workflowExecutionErrorInjectionPersistenceClient) GetName() string {
×
280
        return p.persistence.GetName()
×
281
}
×
282

283
func (p *workflowExecutionErrorInjectionPersistenceClient) GetShardID() int {
×
284
        return p.persistence.GetShardID()
×
285
}
×
286

287
func (p *workflowExecutionErrorInjectionPersistenceClient) CreateWorkflowExecution(
288
        ctx context.Context,
289
        request *CreateWorkflowExecutionRequest,
290
) (*CreateWorkflowExecutionResponse, error) {
×
291
        fakeErr := generateFakeError(p.errorRate)
×
292

×
293
        var response *CreateWorkflowExecutionResponse
×
294
        var persistenceErr error
×
295
        var forwardCall bool
×
296
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
297
                response, persistenceErr = p.persistence.CreateWorkflowExecution(ctx, request)
×
298
        }
×
299

300
        if fakeErr != nil {
×
301
                p.logger.Error(msgInjectedFakeErr,
×
302
                        tag.StoreOperationCreateWorkflowExecution,
×
303
                        tag.Error(fakeErr),
×
304
                        tag.Bool(forwardCall),
×
305
                        tag.StoreError(persistenceErr),
×
306
                )
×
307
                return nil, fakeErr
×
308
        }
×
309
        return response, persistenceErr
×
310
}
311

312
func (p *workflowExecutionErrorInjectionPersistenceClient) GetWorkflowExecution(
313
        ctx context.Context,
314
        request *GetWorkflowExecutionRequest,
315
) (*GetWorkflowExecutionResponse, error) {
×
316
        fakeErr := generateFakeError(p.errorRate)
×
317

×
318
        var response *GetWorkflowExecutionResponse
×
319
        var persistenceErr error
×
320
        var forwardCall bool
×
321
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
322
                response, persistenceErr = p.persistence.GetWorkflowExecution(ctx, request)
×
323
        }
×
324

325
        if fakeErr != nil {
×
326
                p.logger.Error(msgInjectedFakeErr,
×
327
                        tag.StoreOperationGetWorkflowExecution,
×
328
                        tag.Error(fakeErr),
×
329
                        tag.Bool(forwardCall),
×
330
                        tag.StoreError(persistenceErr),
×
331
                )
×
332
                return nil, fakeErr
×
333
        }
×
334
        return response, persistenceErr
×
335
}
336

337
func (p *workflowExecutionErrorInjectionPersistenceClient) UpdateWorkflowExecution(
338
        ctx context.Context,
339
        request *UpdateWorkflowExecutionRequest,
340
) (*UpdateWorkflowExecutionResponse, error) {
×
341
        fakeErr := generateFakeError(p.errorRate)
×
342

×
343
        var response *UpdateWorkflowExecutionResponse
×
344
        var persistenceErr error
×
345
        var forwardCall bool
×
346
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
347
                response, persistenceErr = p.persistence.UpdateWorkflowExecution(ctx, request)
×
348
        }
×
349

350
        if fakeErr != nil {
×
351
                p.logger.Error(msgInjectedFakeErr,
×
352
                        tag.StoreOperationUpdateWorkflowExecution,
×
353
                        tag.Error(fakeErr),
×
354
                        tag.Bool(forwardCall),
×
355
                        tag.StoreError(persistenceErr),
×
356
                )
×
357
                return nil, fakeErr
×
358
        }
×
359
        return response, persistenceErr
×
360
}
361

362
func (p *workflowExecutionErrorInjectionPersistenceClient) ConflictResolveWorkflowExecution(
363
        ctx context.Context,
364
        request *ConflictResolveWorkflowExecutionRequest,
365
) (*ConflictResolveWorkflowExecutionResponse, error) {
×
366
        fakeErr := generateFakeError(p.errorRate)
×
367

×
368
        var response *ConflictResolveWorkflowExecutionResponse
×
369
        var persistenceErr error
×
370
        var forwardCall bool
×
371
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
372
                response, persistenceErr = p.persistence.ConflictResolveWorkflowExecution(ctx, request)
×
373
        }
×
374

375
        if fakeErr != nil {
×
376
                p.logger.Error(msgInjectedFakeErr,
×
377
                        tag.StoreOperationConflictResolveWorkflowExecution,
×
378
                        tag.Error(fakeErr),
×
379
                        tag.Bool(forwardCall),
×
380
                        tag.StoreError(persistenceErr),
×
381
                )
×
382
                return nil, fakeErr
×
383
        }
×
384
        return response, persistenceErr
×
385
}
386

387
func (p *workflowExecutionErrorInjectionPersistenceClient) DeleteWorkflowExecution(
388
        ctx context.Context,
389
        request *DeleteWorkflowExecutionRequest,
390
) error {
×
391
        fakeErr := generateFakeError(p.errorRate)
×
392

×
393
        var persistenceErr error
×
394
        var forwardCall bool
×
395
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
396
                persistenceErr = p.persistence.DeleteWorkflowExecution(ctx, request)
×
397
        }
×
398

399
        if fakeErr != nil {
×
400
                p.logger.Error(msgInjectedFakeErr,
×
401
                        tag.StoreOperationDeleteWorkflowExecution,
×
402
                        tag.Error(fakeErr),
×
403
                        tag.Bool(forwardCall),
×
404
                        tag.StoreError(persistenceErr),
×
405
                )
×
406
                return fakeErr
×
407
        }
×
408
        return persistenceErr
×
409
}
410

411
func (p *workflowExecutionErrorInjectionPersistenceClient) DeleteCurrentWorkflowExecution(
412
        ctx context.Context,
413
        request *DeleteCurrentWorkflowExecutionRequest,
414
) error {
×
415
        fakeErr := generateFakeError(p.errorRate)
×
416

×
417
        var persistenceErr error
×
418
        var forwardCall bool
×
419
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
420
                persistenceErr = p.persistence.DeleteCurrentWorkflowExecution(ctx, request)
×
421
        }
×
422

423
        if fakeErr != nil {
×
424
                p.logger.Error(msgInjectedFakeErr,
×
425
                        tag.StoreOperationDeleteCurrentWorkflowExecution,
×
426
                        tag.Error(fakeErr),
×
427
                        tag.Bool(forwardCall),
×
428
                        tag.StoreError(persistenceErr),
×
429
                )
×
430
                return fakeErr
×
431
        }
×
432
        return persistenceErr
×
433
}
434

435
func (p *workflowExecutionErrorInjectionPersistenceClient) GetCurrentExecution(
436
        ctx context.Context,
437
        request *GetCurrentExecutionRequest,
438
) (*GetCurrentExecutionResponse, error) {
×
439
        fakeErr := generateFakeError(p.errorRate)
×
440

×
441
        var response *GetCurrentExecutionResponse
×
442
        var persistenceErr error
×
443
        var forwardCall bool
×
444
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
445
                response, persistenceErr = p.persistence.GetCurrentExecution(ctx, request)
×
446
        }
×
447

448
        if fakeErr != nil {
×
449
                p.logger.Error(msgInjectedFakeErr,
×
450
                        tag.StoreOperationGetCurrentExecution,
×
451
                        tag.Error(fakeErr),
×
452
                        tag.Bool(forwardCall),
×
453
                        tag.StoreError(persistenceErr),
×
454
                )
×
455
                return nil, fakeErr
×
456
        }
×
457
        return response, persistenceErr
×
458
}
459

460
func (p *workflowExecutionErrorInjectionPersistenceClient) ListCurrentExecutions(
461
        ctx context.Context,
462
        request *ListCurrentExecutionsRequest,
463
) (*ListCurrentExecutionsResponse, error) {
×
464
        fakeErr := generateFakeError(p.errorRate)
×
465

×
466
        var response *ListCurrentExecutionsResponse
×
467
        var persistenceErr error
×
468
        var forwardCall bool
×
469
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
470
                response, persistenceErr = p.persistence.ListCurrentExecutions(ctx, request)
×
471
        }
×
472

473
        if fakeErr != nil {
×
474
                p.logger.Error(msgInjectedFakeErr,
×
475
                        tag.StoreOperationListCurrentExecution,
×
476
                        tag.Error(fakeErr),
×
477
                        tag.Bool(forwardCall),
×
478
                        tag.StoreError(persistenceErr),
×
479
                )
×
480
                return nil, fakeErr
×
481
        }
×
482
        return response, persistenceErr
×
483
}
484

485
func (p *workflowExecutionErrorInjectionPersistenceClient) IsWorkflowExecutionExists(
486
        ctx context.Context,
487
        request *IsWorkflowExecutionExistsRequest,
488
) (*IsWorkflowExecutionExistsResponse, error) {
×
489
        fakeErr := generateFakeError(p.errorRate)
×
490

×
491
        var response *IsWorkflowExecutionExistsResponse
×
492
        var persistenceErr error
×
493
        var forwardCall bool
×
494
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
495
                response, persistenceErr = p.persistence.IsWorkflowExecutionExists(ctx, request)
×
496
        }
×
497

498
        if fakeErr != nil {
×
499
                p.logger.Error(msgInjectedFakeErr,
×
500
                        tag.StoreOperationIsWorkflowExecutionExists,
×
501
                        tag.Error(fakeErr),
×
502
                        tag.Bool(forwardCall),
×
503
                        tag.StoreError(persistenceErr),
×
504
                )
×
505
                return nil, fakeErr
×
506
        }
×
507
        return response, persistenceErr
×
508
}
509

510
func (p *workflowExecutionErrorInjectionPersistenceClient) ListConcreteExecutions(
511
        ctx context.Context,
512
        request *ListConcreteExecutionsRequest,
513
) (*ListConcreteExecutionsResponse, error) {
×
514
        fakeErr := generateFakeError(p.errorRate)
×
515

×
516
        var response *ListConcreteExecutionsResponse
×
517
        var persistenceErr error
×
518
        var forwardCall bool
×
519
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
520
                response, persistenceErr = p.persistence.ListConcreteExecutions(ctx, request)
×
521
        }
×
522

523
        if fakeErr != nil {
×
524
                p.logger.Error(msgInjectedFakeErr,
×
525
                        tag.StoreOperationListConcreteExecution,
×
526
                        tag.Error(fakeErr),
×
527
                        tag.Bool(forwardCall),
×
528
                        tag.StoreError(persistenceErr),
×
529
                )
×
530
                return nil, fakeErr
×
531
        }
×
532
        return response, persistenceErr
×
533
}
534

535
func (p *workflowExecutionErrorInjectionPersistenceClient) GetTransferTasks(
536
        ctx context.Context,
537
        request *GetTransferTasksRequest,
538
) (*GetTransferTasksResponse, error) {
×
539
        fakeErr := generateFakeError(p.errorRate)
×
540

×
541
        var response *GetTransferTasksResponse
×
542
        var persistenceErr error
×
543
        var forwardCall bool
×
544
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
545
                response, persistenceErr = p.persistence.GetTransferTasks(ctx, request)
×
546
        }
×
547

548
        if fakeErr != nil {
×
549
                p.logger.Error(msgInjectedFakeErr,
×
550
                        tag.StoreOperationGetTransferTasks,
×
551
                        tag.Error(fakeErr),
×
552
                        tag.Bool(forwardCall),
×
553
                        tag.StoreError(persistenceErr),
×
554
                )
×
555
                return nil, fakeErr
×
556
        }
×
557
        return response, persistenceErr
×
558
}
559

560
func (p *workflowExecutionErrorInjectionPersistenceClient) GetCrossClusterTasks(
561
        ctx context.Context,
562
        request *GetCrossClusterTasksRequest,
563
) (*GetCrossClusterTasksResponse, error) {
×
564
        fakeErr := generateFakeError(p.errorRate)
×
565

×
566
        var response *GetCrossClusterTasksResponse
×
567
        var persistenceErr error
×
568
        var forwardCall bool
×
569
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
570
                response, persistenceErr = p.persistence.GetCrossClusterTasks(ctx, request)
×
571
        }
×
572

573
        if fakeErr != nil {
×
574
                p.logger.Error(msgInjectedFakeErr,
×
575
                        tag.StoreOperationGetTransferTasks,
×
576
                        tag.Error(fakeErr),
×
577
                        tag.Bool(forwardCall),
×
578
                        tag.StoreError(persistenceErr),
×
579
                )
×
580
                return nil, fakeErr
×
581
        }
×
582
        return response, persistenceErr
×
583
}
584

585
func (p *workflowExecutionErrorInjectionPersistenceClient) GetReplicationTasks(
586
        ctx context.Context,
587
        request *GetReplicationTasksRequest,
588
) (*GetReplicationTasksResponse, error) {
×
589
        fakeErr := generateFakeError(p.errorRate)
×
590

×
591
        var response *GetReplicationTasksResponse
×
592
        var persistenceErr error
×
593
        var forwardCall bool
×
594
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
595
                response, persistenceErr = p.persistence.GetReplicationTasks(ctx, request)
×
596
        }
×
597

598
        if fakeErr != nil {
×
599
                p.logger.Error(msgInjectedFakeErr,
×
600
                        tag.StoreOperationGetReplicationTasks,
×
601
                        tag.Error(fakeErr),
×
602
                        tag.Bool(forwardCall),
×
603
                        tag.StoreError(persistenceErr),
×
604
                )
×
605
                return nil, fakeErr
×
606
        }
×
607
        return response, persistenceErr
×
608
}
609

610
func (p *workflowExecutionErrorInjectionPersistenceClient) CompleteTransferTask(
611
        ctx context.Context,
612
        request *CompleteTransferTaskRequest,
613
) error {
×
614
        fakeErr := generateFakeError(p.errorRate)
×
615

×
616
        var persistenceErr error
×
617
        var forwardCall bool
×
618
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
619
                persistenceErr = p.persistence.CompleteTransferTask(ctx, request)
×
620
        }
×
621

622
        if fakeErr != nil {
×
623
                p.logger.Error(msgInjectedFakeErr,
×
624
                        tag.StoreOperationCompleteTransferTask,
×
625
                        tag.Error(fakeErr),
×
626
                        tag.Bool(forwardCall),
×
627
                        tag.StoreError(persistenceErr),
×
628
                )
×
629
                return fakeErr
×
630
        }
×
631
        return persistenceErr
×
632
}
633

634
func (p *workflowExecutionErrorInjectionPersistenceClient) RangeCompleteTransferTask(
635
        ctx context.Context,
636
        request *RangeCompleteTransferTaskRequest,
637
) (*RangeCompleteTransferTaskResponse, error) {
×
638
        fakeErr := generateFakeError(p.errorRate)
×
639

×
640
        var response *RangeCompleteTransferTaskResponse
×
641
        var persistenceErr error
×
642
        var forwardCall bool
×
643
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
644
                response, persistenceErr = p.persistence.RangeCompleteTransferTask(ctx, request)
×
645
        }
×
646

647
        if fakeErr != nil {
×
648
                p.logger.Error(msgInjectedFakeErr,
×
649
                        tag.StoreOperationRangeCompleteTransferTask,
×
650
                        tag.Error(fakeErr),
×
651
                        tag.Bool(forwardCall),
×
652
                        tag.StoreError(persistenceErr),
×
653
                )
×
654
                return nil, fakeErr
×
655
        }
×
656
        return response, persistenceErr
×
657
}
658

659
func (p *workflowExecutionErrorInjectionPersistenceClient) CompleteCrossClusterTask(
660
        ctx context.Context,
661
        request *CompleteCrossClusterTaskRequest,
662
) error {
×
663
        fakeErr := generateFakeError(p.errorRate)
×
664

×
665
        var persistenceErr error
×
666
        var forwardCall bool
×
667
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
668
                persistenceErr = p.persistence.CompleteCrossClusterTask(ctx, request)
×
669
        }
×
670

671
        if fakeErr != nil {
×
672
                p.logger.Error(msgInjectedFakeErr,
×
673
                        tag.StoreOperationCompleteCrossClusterTask,
×
674
                        tag.Error(fakeErr),
×
675
                        tag.Bool(forwardCall),
×
676
                        tag.StoreError(persistenceErr),
×
677
                )
×
678
                return fakeErr
×
679
        }
×
680
        return persistenceErr
×
681
}
682

683
func (p *workflowExecutionErrorInjectionPersistenceClient) RangeCompleteCrossClusterTask(
684
        ctx context.Context,
685
        request *RangeCompleteCrossClusterTaskRequest,
686
) (*RangeCompleteCrossClusterTaskResponse, error) {
×
687
        fakeErr := generateFakeError(p.errorRate)
×
688

×
689
        var response *RangeCompleteCrossClusterTaskResponse
×
690
        var persistenceErr error
×
691
        var forwardCall bool
×
692
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
693
                response, persistenceErr = p.persistence.RangeCompleteCrossClusterTask(ctx, request)
×
694
        }
×
695

696
        if fakeErr != nil {
×
697
                p.logger.Error(msgInjectedFakeErr,
×
698
                        tag.StoreOperationRangeCompleteCrossClusterTask,
×
699
                        tag.Error(fakeErr),
×
700
                        tag.Bool(forwardCall),
×
701
                        tag.StoreError(persistenceErr),
×
702
                )
×
703
                return nil, fakeErr
×
704
        }
×
705
        return response, persistenceErr
×
706
}
707

708
func (p *workflowExecutionErrorInjectionPersistenceClient) CompleteReplicationTask(
709
        ctx context.Context,
710
        request *CompleteReplicationTaskRequest,
711
) error {
×
712
        fakeErr := generateFakeError(p.errorRate)
×
713

×
714
        var persistenceErr error
×
715
        var forwardCall bool
×
716
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
717
                persistenceErr = p.persistence.CompleteReplicationTask(ctx, request)
×
718
        }
×
719

720
        if fakeErr != nil {
×
721
                p.logger.Error(msgInjectedFakeErr,
×
722
                        tag.StoreOperationCompleteReplicationTask,
×
723
                        tag.Error(fakeErr),
×
724
                        tag.Bool(forwardCall),
×
725
                        tag.StoreError(persistenceErr),
×
726
                )
×
727
                return fakeErr
×
728
        }
×
729
        return persistenceErr
×
730
}
731

732
func (p *workflowExecutionErrorInjectionPersistenceClient) RangeCompleteReplicationTask(
733
        ctx context.Context,
734
        request *RangeCompleteReplicationTaskRequest,
735
) (*RangeCompleteReplicationTaskResponse, error) {
×
736
        fakeErr := generateFakeError(p.errorRate)
×
737

×
738
        var response *RangeCompleteReplicationTaskResponse
×
739
        var persistenceErr error
×
740
        var forwardCall bool
×
741
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
742
                response, persistenceErr = p.persistence.RangeCompleteReplicationTask(ctx, request)
×
743
        }
×
744

745
        if fakeErr != nil {
×
746
                p.logger.Error(msgInjectedFakeErr,
×
747
                        tag.StoreOperationRangeCompleteReplicationTask,
×
748
                        tag.Error(fakeErr),
×
749
                        tag.Bool(forwardCall),
×
750
                        tag.StoreError(persistenceErr),
×
751
                )
×
752
                return nil, fakeErr
×
753
        }
×
754
        return response, persistenceErr
×
755
}
756

757
func (p *workflowExecutionErrorInjectionPersistenceClient) PutReplicationTaskToDLQ(
758
        ctx context.Context,
759
        request *PutReplicationTaskToDLQRequest,
760
) error {
×
761
        fakeErr := generateFakeError(p.errorRate)
×
762

×
763
        var persistenceErr error
×
764
        var forwardCall bool
×
765
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
766
                persistenceErr = p.persistence.PutReplicationTaskToDLQ(ctx, request)
×
767
        }
×
768

769
        if fakeErr != nil {
×
770
                p.logger.Error(msgInjectedFakeErr,
×
771
                        tag.StoreOperationPutReplicationTaskToDLQ,
×
772
                        tag.Error(fakeErr),
×
773
                        tag.Bool(forwardCall),
×
774
                        tag.StoreError(persistenceErr),
×
775
                )
×
776
                return fakeErr
×
777
        }
×
778
        return persistenceErr
×
779
}
780

781
func (p *workflowExecutionErrorInjectionPersistenceClient) GetReplicationTasksFromDLQ(
782
        ctx context.Context,
783
        request *GetReplicationTasksFromDLQRequest,
784
) (*GetReplicationTasksFromDLQResponse, error) {
×
785
        fakeErr := generateFakeError(p.errorRate)
×
786

×
787
        var response *GetReplicationTasksFromDLQResponse
×
788
        var persistenceErr error
×
789
        var forwardCall bool
×
790
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
791
                response, persistenceErr = p.persistence.GetReplicationTasksFromDLQ(ctx, request)
×
792
        }
×
793

794
        if fakeErr != nil {
×
795
                p.logger.Error(msgInjectedFakeErr,
×
796
                        tag.StoreOperationGetReplicationTasksFromDLQ,
×
797
                        tag.Error(fakeErr),
×
798
                        tag.Bool(forwardCall),
×
799
                        tag.StoreError(persistenceErr),
×
800
                )
×
801
                return nil, fakeErr
×
802
        }
×
803
        return response, persistenceErr
×
804
}
805

806
func (p *workflowExecutionErrorInjectionPersistenceClient) GetReplicationDLQSize(
807
        ctx context.Context,
808
        request *GetReplicationDLQSizeRequest,
809
) (*GetReplicationDLQSizeResponse, error) {
×
810
        fakeErr := generateFakeError(p.errorRate)
×
811

×
812
        var response *GetReplicationDLQSizeResponse
×
813
        var persistenceErr error
×
814
        var forwardCall bool
×
815
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
816
                response, persistenceErr = p.persistence.GetReplicationDLQSize(ctx, request)
×
817
        }
×
818

819
        if fakeErr != nil {
×
820
                p.logger.Error(msgInjectedFakeErr,
×
821
                        tag.StoreOperationGetReplicationDLQSize,
×
822
                        tag.Error(fakeErr),
×
823
                        tag.Bool(forwardCall),
×
824
                        tag.StoreError(persistenceErr),
×
825
                )
×
826
                return nil, fakeErr
×
827
        }
×
828
        return response, persistenceErr
×
829
}
830

831
func (p *workflowExecutionErrorInjectionPersistenceClient) DeleteReplicationTaskFromDLQ(
832
        ctx context.Context,
833
        request *DeleteReplicationTaskFromDLQRequest,
834
) error {
×
835
        fakeErr := generateFakeError(p.errorRate)
×
836

×
837
        var persistenceErr error
×
838
        var forwardCall bool
×
839
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
840
                persistenceErr = p.persistence.DeleteReplicationTaskFromDLQ(ctx, request)
×
841
        }
×
842

843
        if fakeErr != nil {
×
844
                p.logger.Error(msgInjectedFakeErr,
×
845
                        tag.StoreOperationDeleteReplicationTaskFromDLQ,
×
846
                        tag.Error(fakeErr),
×
847
                        tag.Bool(forwardCall),
×
848
                        tag.StoreError(persistenceErr),
×
849
                )
×
850
                return fakeErr
×
851
        }
×
852
        return persistenceErr
×
853
}
854

855
func (p *workflowExecutionErrorInjectionPersistenceClient) RangeDeleteReplicationTaskFromDLQ(
856
        ctx context.Context,
857
        request *RangeDeleteReplicationTaskFromDLQRequest,
858
) (*RangeDeleteReplicationTaskFromDLQResponse, error) {
×
859
        fakeErr := generateFakeError(p.errorRate)
×
860

×
861
        var response *RangeDeleteReplicationTaskFromDLQResponse
×
862
        var persistenceErr error
×
863
        var forwardCall bool
×
864
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
865
                response, persistenceErr = p.persistence.RangeDeleteReplicationTaskFromDLQ(ctx, request)
×
866
        }
×
867

868
        if fakeErr != nil {
×
869
                p.logger.Error(msgInjectedFakeErr,
×
870
                        tag.StoreOperationRangeDeleteReplicationTaskFromDLQ,
×
871
                        tag.Error(fakeErr),
×
872
                        tag.Bool(forwardCall),
×
873
                        tag.StoreError(persistenceErr),
×
874
                )
×
875
                return nil, fakeErr
×
876
        }
×
877
        return response, persistenceErr
×
878
}
879

880
func (p *workflowExecutionErrorInjectionPersistenceClient) CreateFailoverMarkerTasks(
881
        ctx context.Context,
882
        request *CreateFailoverMarkersRequest,
883
) error {
×
884
        fakeErr := generateFakeError(p.errorRate)
×
885

×
886
        var persistenceErr error
×
887
        var forwardCall bool
×
888
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
889
                persistenceErr = p.persistence.CreateFailoverMarkerTasks(ctx, request)
×
890
        }
×
891

892
        if fakeErr != nil {
×
893
                p.logger.Error(msgInjectedFakeErr,
×
894
                        tag.StoreOperationCreateFailoverMarkerTasks,
×
895
                        tag.Error(fakeErr),
×
896
                        tag.Bool(forwardCall),
×
897
                        tag.StoreError(persistenceErr),
×
898
                )
×
899
                return fakeErr
×
900
        }
×
901
        return persistenceErr
×
902
}
903

904
func (p *workflowExecutionErrorInjectionPersistenceClient) GetTimerIndexTasks(
905
        ctx context.Context,
906
        request *GetTimerIndexTasksRequest,
907
) (*GetTimerIndexTasksResponse, error) {
×
908
        fakeErr := generateFakeError(p.errorRate)
×
909

×
910
        var response *GetTimerIndexTasksResponse
×
911
        var persistenceErr error
×
912
        var forwardCall bool
×
913
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
914
                response, persistenceErr = p.persistence.GetTimerIndexTasks(ctx, request)
×
915
        }
×
916

917
        if fakeErr != nil {
×
918
                p.logger.Error(msgInjectedFakeErr,
×
919
                        tag.StoreOperationGetTimerIndexTasks,
×
920
                        tag.Error(fakeErr),
×
921
                        tag.Bool(forwardCall),
×
922
                        tag.StoreError(persistenceErr),
×
923
                )
×
924
                return nil, fakeErr
×
925
        }
×
926
        return response, persistenceErr
×
927
}
928

929
func (p *workflowExecutionErrorInjectionPersistenceClient) CompleteTimerTask(
930
        ctx context.Context,
931
        request *CompleteTimerTaskRequest,
932
) error {
×
933
        fakeErr := generateFakeError(p.errorRate)
×
934

×
935
        var persistenceErr error
×
936
        var forwardCall bool
×
937
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
938
                persistenceErr = p.persistence.CompleteTimerTask(ctx, request)
×
939
        }
×
940

941
        if fakeErr != nil {
×
942
                p.logger.Error(msgInjectedFakeErr,
×
943
                        tag.StoreOperationCompleteTimerTask,
×
944
                        tag.Error(fakeErr),
×
945
                        tag.Bool(forwardCall),
×
946
                        tag.StoreError(persistenceErr),
×
947
                )
×
948
                return fakeErr
×
949
        }
×
950
        return persistenceErr
×
951
}
952

953
func (p *workflowExecutionErrorInjectionPersistenceClient) RangeCompleteTimerTask(
954
        ctx context.Context,
955
        request *RangeCompleteTimerTaskRequest,
956
) (*RangeCompleteTimerTaskResponse, error) {
×
957
        fakeErr := generateFakeError(p.errorRate)
×
958

×
959
        var response *RangeCompleteTimerTaskResponse
×
960
        var persistenceErr error
×
961
        var forwardCall bool
×
962
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
963
                response, persistenceErr = p.persistence.RangeCompleteTimerTask(ctx, request)
×
964
        }
×
965

966
        if fakeErr != nil {
×
967
                p.logger.Error(msgInjectedFakeErr,
×
968
                        tag.StoreOperationRangeCompleteTimerTask,
×
969
                        tag.Error(fakeErr),
×
970
                        tag.Bool(forwardCall),
×
971
                        tag.StoreError(persistenceErr),
×
972
                )
×
973
                return nil, fakeErr
×
974
        }
×
975
        return response, persistenceErr
×
976
}
977

978
func (p *workflowExecutionErrorInjectionPersistenceClient) Close() {
×
979
        p.persistence.Close()
×
980
}
×
981

982
func (p *taskErrorInjectionPersistenceClient) GetName() string {
×
983
        return p.persistence.GetName()
×
984
}
×
985

986
func (p *taskErrorInjectionPersistenceClient) CreateTasks(
987
        ctx context.Context,
988
        request *CreateTasksRequest,
989
) (*CreateTasksResponse, error) {
×
990
        fakeErr := generateFakeError(p.errorRate)
×
991

×
992
        var response *CreateTasksResponse
×
993
        var persistenceErr error
×
994
        var forwardCall bool
×
995
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
996
                response, persistenceErr = p.persistence.CreateTasks(ctx, request)
×
997
        }
×
998

999
        if fakeErr != nil {
×
1000
                p.logger.Error(msgInjectedFakeErr,
×
1001
                        tag.StoreOperationCreateTasks,
×
1002
                        tag.Error(fakeErr),
×
1003
                        tag.Bool(forwardCall),
×
1004
                        tag.StoreError(persistenceErr),
×
1005
                )
×
1006
                return nil, fakeErr
×
1007
        }
×
1008
        return response, persistenceErr
×
1009
}
1010

1011
func (p *taskErrorInjectionPersistenceClient) GetTasks(
1012
        ctx context.Context,
1013
        request *GetTasksRequest,
1014
) (*GetTasksResponse, error) {
×
1015
        fakeErr := generateFakeError(p.errorRate)
×
1016

×
1017
        var response *GetTasksResponse
×
1018
        var persistenceErr error
×
1019
        var forwardCall bool
×
1020
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1021
                response, persistenceErr = p.persistence.GetTasks(ctx, request)
×
1022
        }
×
1023

1024
        if fakeErr != nil {
×
1025
                p.logger.Error(msgInjectedFakeErr,
×
1026
                        tag.StoreOperationGetTasks,
×
1027
                        tag.Error(fakeErr),
×
1028
                        tag.Bool(forwardCall),
×
1029
                        tag.StoreError(persistenceErr),
×
1030
                )
×
1031
                return nil, fakeErr
×
1032
        }
×
1033
        return response, persistenceErr
×
1034
}
1035

1036
func (p *taskErrorInjectionPersistenceClient) CompleteTask(
1037
        ctx context.Context,
1038
        request *CompleteTaskRequest,
1039
) error {
×
1040
        fakeErr := generateFakeError(p.errorRate)
×
1041

×
1042
        var persistenceErr error
×
1043
        var forwardCall bool
×
1044
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1045
                persistenceErr = p.persistence.CompleteTask(ctx, request)
×
1046
        }
×
1047

1048
        if fakeErr != nil {
×
1049
                p.logger.Error(msgInjectedFakeErr,
×
1050
                        tag.StoreOperationCompleteTask,
×
1051
                        tag.Error(fakeErr),
×
1052
                        tag.Bool(forwardCall),
×
1053
                        tag.StoreError(persistenceErr),
×
1054
                )
×
1055
                return fakeErr
×
1056
        }
×
1057
        return persistenceErr
×
1058
}
1059

1060
func (p *taskErrorInjectionPersistenceClient) CompleteTasksLessThan(
1061
        ctx context.Context,
1062
        request *CompleteTasksLessThanRequest,
1063
) (*CompleteTasksLessThanResponse, error) {
×
1064
        fakeErr := generateFakeError(p.errorRate)
×
1065

×
1066
        var response *CompleteTasksLessThanResponse
×
1067
        var persistenceErr error
×
1068
        var forwardCall bool
×
1069
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1070
                response, persistenceErr = p.persistence.CompleteTasksLessThan(ctx, request)
×
1071
        }
×
1072

1073
        if fakeErr != nil {
×
1074
                p.logger.Error(msgInjectedFakeErr,
×
1075
                        tag.StoreOperationCompleteTasksLessThan,
×
1076
                        tag.Error(fakeErr),
×
1077
                        tag.Bool(forwardCall),
×
1078
                        tag.StoreError(persistenceErr),
×
1079
                )
×
1080
                return nil, fakeErr
×
1081
        }
×
1082
        return response, persistenceErr
×
1083
}
1084

1085
func (p *taskErrorInjectionPersistenceClient) GetOrphanTasks(
1086
        ctx context.Context,
1087
        request *GetOrphanTasksRequest,
1088
) (*GetOrphanTasksResponse, error) {
×
1089
        fakeErr := generateFakeError(p.errorRate)
×
1090

×
1091
        var response *GetOrphanTasksResponse
×
1092
        var persistenceErr error
×
1093
        var forwardCall bool
×
1094
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1095
                response, persistenceErr = p.persistence.GetOrphanTasks(ctx, request)
×
1096
        }
×
1097

1098
        if fakeErr != nil {
×
1099
                p.logger.Error(msgInjectedFakeErr,
×
1100
                        tag.StoreOperationCompleteTask,
×
1101
                        tag.Error(fakeErr),
×
1102
                        tag.Bool(forwardCall),
×
1103
                        tag.StoreError(persistenceErr),
×
1104
                )
×
1105
                return nil, fakeErr
×
1106
        }
×
1107
        return response, persistenceErr
×
1108
}
1109

1110
func (p *taskErrorInjectionPersistenceClient) LeaseTaskList(
1111
        ctx context.Context,
1112
        request *LeaseTaskListRequest,
1113
) (*LeaseTaskListResponse, error) {
×
1114
        fakeErr := generateFakeError(p.errorRate)
×
1115

×
1116
        var response *LeaseTaskListResponse
×
1117
        var persistenceErr error
×
1118
        var forwardCall bool
×
1119
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1120
                response, persistenceErr = p.persistence.LeaseTaskList(ctx, request)
×
1121
        }
×
1122

1123
        if fakeErr != nil {
×
1124
                p.logger.Error(msgInjectedFakeErr,
×
1125
                        tag.StoreOperationLeaseTaskList,
×
1126
                        tag.Error(fakeErr),
×
1127
                        tag.Bool(forwardCall),
×
1128
                        tag.StoreError(persistenceErr),
×
1129
                )
×
1130
                return nil, fakeErr
×
1131
        }
×
1132
        return response, persistenceErr
×
1133
}
1134

1135
func (p *taskErrorInjectionPersistenceClient) UpdateTaskList(
1136
        ctx context.Context,
1137
        request *UpdateTaskListRequest,
1138
) (*UpdateTaskListResponse, error) {
×
1139
        fakeErr := generateFakeError(p.errorRate)
×
1140

×
1141
        var response *UpdateTaskListResponse
×
1142
        var persistenceErr error
×
1143
        var forwardCall bool
×
1144
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1145
                response, persistenceErr = p.persistence.UpdateTaskList(ctx, request)
×
1146
        }
×
1147

1148
        if fakeErr != nil {
×
1149
                p.logger.Error(msgInjectedFakeErr,
×
1150
                        tag.StoreOperationUpdateTaskList,
×
1151
                        tag.Error(fakeErr),
×
1152
                        tag.Bool(forwardCall),
×
1153
                        tag.StoreError(persistenceErr),
×
1154
                )
×
1155
                return nil, fakeErr
×
1156
        }
×
1157
        return response, persistenceErr
×
1158
}
1159

1160
func (p *taskErrorInjectionPersistenceClient) ListTaskList(
1161
        ctx context.Context,
1162
        request *ListTaskListRequest,
1163
) (*ListTaskListResponse, error) {
×
1164
        fakeErr := generateFakeError(p.errorRate)
×
1165

×
1166
        var response *ListTaskListResponse
×
1167
        var persistenceErr error
×
1168
        var forwardCall bool
×
1169
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1170
                response, persistenceErr = p.persistence.ListTaskList(ctx, request)
×
1171
        }
×
1172

1173
        if fakeErr != nil {
×
1174
                p.logger.Error(msgInjectedFakeErr,
×
1175
                        tag.StoreOperationListTaskList,
×
1176
                        tag.Error(fakeErr),
×
1177
                        tag.Bool(forwardCall),
×
1178
                        tag.StoreError(persistenceErr),
×
1179
                )
×
1180
                return nil, fakeErr
×
1181
        }
×
1182
        return response, persistenceErr
×
1183
}
1184

1185
func (p *taskErrorInjectionPersistenceClient) DeleteTaskList(
1186
        ctx context.Context,
1187
        request *DeleteTaskListRequest,
1188
) error {
×
1189
        fakeErr := generateFakeError(p.errorRate)
×
1190

×
1191
        var persistenceErr error
×
1192
        var forwardCall bool
×
1193
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1194
                persistenceErr = p.persistence.DeleteTaskList(ctx, request)
×
1195
        }
×
1196

1197
        if fakeErr != nil {
×
1198
                p.logger.Error(msgInjectedFakeErr,
×
1199
                        tag.StoreOperationDeleteTaskList,
×
1200
                        tag.Error(fakeErr),
×
1201
                        tag.Bool(forwardCall),
×
1202
                        tag.StoreError(persistenceErr),
×
1203
                )
×
1204
                return fakeErr
×
1205
        }
×
1206
        return persistenceErr
×
1207
}
1208

1209
func (p *taskErrorInjectionPersistenceClient) Close() {
×
1210
        p.persistence.Close()
×
1211
}
×
1212

1213
func (p *metadataErrorInjectionPersistenceClient) GetName() string {
×
1214
        return p.persistence.GetName()
×
1215
}
×
1216

1217
func (p *metadataErrorInjectionPersistenceClient) CreateDomain(
1218
        ctx context.Context,
1219
        request *CreateDomainRequest,
1220
) (*CreateDomainResponse, error) {
×
1221
        fakeErr := generateFakeError(p.errorRate)
×
1222

×
1223
        var response *CreateDomainResponse
×
1224
        var persistenceErr error
×
1225
        var forwardCall bool
×
1226
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1227
                response, persistenceErr = p.persistence.CreateDomain(ctx, request)
×
1228
        }
×
1229

1230
        if fakeErr != nil {
×
1231
                p.logger.Error(msgInjectedFakeErr,
×
1232
                        tag.StoreOperationCreateDomain,
×
1233
                        tag.Error(fakeErr),
×
1234
                        tag.Bool(forwardCall),
×
1235
                        tag.StoreError(persistenceErr),
×
1236
                )
×
1237
                return nil, fakeErr
×
1238
        }
×
1239
        return response, persistenceErr
×
1240
}
1241

1242
func (p *metadataErrorInjectionPersistenceClient) GetDomain(
1243
        ctx context.Context,
1244
        request *GetDomainRequest,
1245
) (*GetDomainResponse, error) {
×
1246
        fakeErr := generateFakeError(p.errorRate)
×
1247

×
1248
        var response *GetDomainResponse
×
1249
        var persistenceErr error
×
1250
        var forwardCall bool
×
1251
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1252
                response, persistenceErr = p.persistence.GetDomain(ctx, request)
×
1253
        }
×
1254

1255
        if fakeErr != nil {
×
1256
                p.logger.Error(msgInjectedFakeErr,
×
1257
                        tag.StoreOperationGetDomain,
×
1258
                        tag.Error(fakeErr),
×
1259
                        tag.Bool(forwardCall),
×
1260
                        tag.StoreError(persistenceErr),
×
1261
                )
×
1262
                return nil, fakeErr
×
1263
        }
×
1264
        return response, persistenceErr
×
1265
}
1266

1267
func (p *metadataErrorInjectionPersistenceClient) UpdateDomain(
1268
        ctx context.Context,
1269
        request *UpdateDomainRequest,
1270
) error {
×
1271
        fakeErr := generateFakeError(p.errorRate)
×
1272

×
1273
        var persistenceErr error
×
1274
        var forwardCall bool
×
1275
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1276
                persistenceErr = p.persistence.UpdateDomain(ctx, request)
×
1277
        }
×
1278

1279
        if fakeErr != nil {
×
1280
                p.logger.Error(msgInjectedFakeErr,
×
1281
                        tag.StoreOperationUpdateDomain,
×
1282
                        tag.Error(fakeErr),
×
1283
                        tag.Bool(forwardCall),
×
1284
                        tag.StoreError(persistenceErr),
×
1285
                )
×
1286
                return fakeErr
×
1287
        }
×
1288
        return persistenceErr
×
1289
}
1290

1291
func (p *metadataErrorInjectionPersistenceClient) DeleteDomain(
1292
        ctx context.Context,
1293
        request *DeleteDomainRequest,
1294
) error {
×
1295
        fakeErr := generateFakeError(p.errorRate)
×
1296

×
1297
        var persistenceErr error
×
1298
        var forwardCall bool
×
1299
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1300
                persistenceErr = p.persistence.DeleteDomain(ctx, request)
×
1301
        }
×
1302

1303
        if fakeErr != nil {
×
1304
                p.logger.Error(msgInjectedFakeErr,
×
1305
                        tag.StoreOperationDeleteDomain,
×
1306
                        tag.Error(fakeErr),
×
1307
                        tag.Bool(forwardCall),
×
1308
                        tag.StoreError(persistenceErr),
×
1309
                )
×
1310
                return fakeErr
×
1311
        }
×
1312
        return persistenceErr
×
1313
}
1314

1315
func (p *metadataErrorInjectionPersistenceClient) DeleteDomainByName(
1316
        ctx context.Context,
1317
        request *DeleteDomainByNameRequest,
1318
) error {
×
1319
        fakeErr := generateFakeError(p.errorRate)
×
1320

×
1321
        var persistenceErr error
×
1322
        var forwardCall bool
×
1323
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1324
                persistenceErr = p.persistence.DeleteDomainByName(ctx, request)
×
1325
        }
×
1326

1327
        if fakeErr != nil {
×
1328
                p.logger.Error(msgInjectedFakeErr,
×
1329
                        tag.StoreOperationDeleteDomainByName,
×
1330
                        tag.Error(fakeErr),
×
1331
                        tag.Bool(forwardCall),
×
1332
                        tag.StoreError(persistenceErr),
×
1333
                )
×
1334
                return fakeErr
×
1335
        }
×
1336
        return persistenceErr
×
1337
}
1338

1339
func (p *metadataErrorInjectionPersistenceClient) ListDomains(
1340
        ctx context.Context,
1341
        request *ListDomainsRequest,
1342
) (*ListDomainsResponse, error) {
×
1343
        fakeErr := generateFakeError(p.errorRate)
×
1344

×
1345
        var response *ListDomainsResponse
×
1346
        var persistenceErr error
×
1347
        var forwardCall bool
×
1348
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1349
                response, persistenceErr = p.persistence.ListDomains(ctx, request)
×
1350
        }
×
1351

1352
        if fakeErr != nil {
×
1353
                p.logger.Error(msgInjectedFakeErr,
×
1354
                        tag.StoreOperationListDomains,
×
1355
                        tag.Error(fakeErr),
×
1356
                        tag.Bool(forwardCall),
×
1357
                        tag.StoreError(persistenceErr),
×
1358
                )
×
1359
                return nil, fakeErr
×
1360
        }
×
1361
        return response, persistenceErr
×
1362
}
1363

1364
func (p *metadataErrorInjectionPersistenceClient) GetMetadata(
1365
        ctx context.Context,
1366
) (*GetMetadataResponse, error) {
×
1367
        fakeErr := generateFakeError(p.errorRate)
×
1368

×
1369
        var response *GetMetadataResponse
×
1370
        var persistenceErr error
×
1371
        var forwardCall bool
×
1372
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1373
                response, persistenceErr = p.persistence.GetMetadata(ctx)
×
1374
        }
×
1375

1376
        if fakeErr != nil {
×
1377
                p.logger.Error(msgInjectedFakeErr,
×
1378
                        tag.StoreOperationGetMetadata,
×
1379
                        tag.Error(fakeErr),
×
1380
                        tag.Bool(forwardCall),
×
1381
                        tag.StoreError(persistenceErr),
×
1382
                )
×
1383
                return nil, fakeErr
×
1384
        }
×
1385
        return response, persistenceErr
×
1386
}
1387

1388
func (p *metadataErrorInjectionPersistenceClient) Close() {
×
1389
        p.persistence.Close()
×
1390
}
×
1391

1392
func (p *visibilityErrorInjectionPersistenceClient) GetName() string {
×
1393
        return p.persistence.GetName()
×
1394
}
×
1395

1396
func (p *visibilityErrorInjectionPersistenceClient) RecordWorkflowExecutionStarted(
1397
        ctx context.Context,
1398
        request *RecordWorkflowExecutionStartedRequest,
1399
) error {
×
1400
        fakeErr := generateFakeError(p.errorRate)
×
1401

×
1402
        var persistenceErr error
×
1403
        var forwardCall bool
×
1404
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1405
                persistenceErr = p.persistence.RecordWorkflowExecutionStarted(ctx, request)
×
1406
        }
×
1407

1408
        if fakeErr != nil {
×
1409
                p.logger.Error(msgInjectedFakeErr,
×
1410
                        tag.StoreOperationRecordWorkflowExecutionStarted,
×
1411
                        tag.Error(fakeErr),
×
1412
                        tag.Bool(forwardCall),
×
1413
                        tag.StoreError(persistenceErr),
×
1414
                )
×
1415
                return fakeErr
×
1416
        }
×
1417
        return persistenceErr
×
1418
}
1419

1420
func (p *visibilityErrorInjectionPersistenceClient) RecordWorkflowExecutionClosed(
1421
        ctx context.Context,
1422
        request *RecordWorkflowExecutionClosedRequest,
1423
) error {
×
1424
        fakeErr := generateFakeError(p.errorRate)
×
1425

×
1426
        var persistenceErr error
×
1427
        var forwardCall bool
×
1428
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1429
                persistenceErr = p.persistence.RecordWorkflowExecutionClosed(ctx, request)
×
1430
        }
×
1431

1432
        if fakeErr != nil {
×
1433
                p.logger.Error(msgInjectedFakeErr,
×
1434
                        tag.StoreOperationRecordWorkflowExecutionClosed,
×
1435
                        tag.Error(fakeErr),
×
1436
                        tag.Bool(forwardCall),
×
1437
                        tag.StoreError(persistenceErr),
×
1438
                )
×
1439
                return fakeErr
×
1440
        }
×
1441
        return persistenceErr
×
1442
}
1443

1444
func (p *visibilityErrorInjectionPersistenceClient) RecordWorkflowExecutionUninitialized(
1445
        ctx context.Context,
1446
        request *RecordWorkflowExecutionUninitializedRequest,
1447
) error {
×
1448
        fakeErr := generateFakeError(p.errorRate)
×
1449

×
1450
        var persistenceErr error
×
1451
        var forwardCall bool
×
1452
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1453
                persistenceErr = p.persistence.RecordWorkflowExecutionUninitialized(ctx, request)
×
1454
        }
×
1455

1456
        if fakeErr != nil {
×
1457
                p.logger.Error(msgInjectedFakeErr,
×
1458
                        tag.StoreOperationRecordWorkflowExecutionStarted,
×
1459
                        tag.Error(fakeErr),
×
1460
                        tag.Bool(forwardCall),
×
1461
                        tag.StoreError(persistenceErr),
×
1462
                )
×
1463
                return fakeErr
×
1464
        }
×
1465
        return persistenceErr
×
1466
}
1467

1468
func (p *visibilityErrorInjectionPersistenceClient) UpsertWorkflowExecution(
1469
        ctx context.Context,
1470
        request *UpsertWorkflowExecutionRequest,
1471
) error {
×
1472
        fakeErr := generateFakeError(p.errorRate)
×
1473

×
1474
        var persistenceErr error
×
1475
        var forwardCall bool
×
1476
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1477
                persistenceErr = p.persistence.UpsertWorkflowExecution(ctx, request)
×
1478
        }
×
1479

1480
        if fakeErr != nil {
×
1481
                p.logger.Error(msgInjectedFakeErr,
×
1482
                        tag.StoreOperationUpsertWorkflowExecution,
×
1483
                        tag.Error(fakeErr),
×
1484
                        tag.Bool(forwardCall),
×
1485
                        tag.StoreError(persistenceErr),
×
1486
                )
×
1487
                return fakeErr
×
1488
        }
×
1489
        return persistenceErr
×
1490
}
1491

1492
func (p *visibilityErrorInjectionPersistenceClient) ListOpenWorkflowExecutions(
1493
        ctx context.Context,
1494
        request *ListWorkflowExecutionsRequest,
1495
) (*ListWorkflowExecutionsResponse, error) {
×
1496
        fakeErr := generateFakeError(p.errorRate)
×
1497

×
1498
        var response *ListWorkflowExecutionsResponse
×
1499
        var persistenceErr error
×
1500
        var forwardCall bool
×
1501
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1502
                response, persistenceErr = p.persistence.ListOpenWorkflowExecutions(ctx, request)
×
1503
        }
×
1504

1505
        if fakeErr != nil {
×
1506
                p.logger.Error(msgInjectedFakeErr,
×
1507
                        tag.StoreOperationListOpenWorkflowExecutions,
×
1508
                        tag.Error(fakeErr),
×
1509
                        tag.Bool(forwardCall),
×
1510
                        tag.StoreError(persistenceErr),
×
1511
                )
×
1512
                return nil, fakeErr
×
1513
        }
×
1514
        return response, persistenceErr
×
1515
}
1516

1517
func (p *visibilityErrorInjectionPersistenceClient) ListClosedWorkflowExecutions(
1518
        ctx context.Context,
1519
        request *ListWorkflowExecutionsRequest,
1520
) (*ListWorkflowExecutionsResponse, error) {
×
1521
        fakeErr := generateFakeError(p.errorRate)
×
1522

×
1523
        var response *ListWorkflowExecutionsResponse
×
1524
        var persistenceErr error
×
1525
        var forwardCall bool
×
1526
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1527
                response, persistenceErr = p.persistence.ListClosedWorkflowExecutions(ctx, request)
×
1528
        }
×
1529

1530
        if fakeErr != nil {
×
1531
                p.logger.Error(msgInjectedFakeErr,
×
1532
                        tag.StoreOperationListClosedWorkflowExecutions,
×
1533
                        tag.Error(fakeErr),
×
1534
                        tag.Bool(forwardCall),
×
1535
                        tag.StoreError(persistenceErr),
×
1536
                )
×
1537
                return nil, fakeErr
×
1538
        }
×
1539
        return response, persistenceErr
×
1540
}
1541

1542
func (p *visibilityErrorInjectionPersistenceClient) ListOpenWorkflowExecutionsByType(
1543
        ctx context.Context,
1544
        request *ListWorkflowExecutionsByTypeRequest,
1545
) (*ListWorkflowExecutionsResponse, error) {
×
1546
        fakeErr := generateFakeError(p.errorRate)
×
1547

×
1548
        var response *ListWorkflowExecutionsResponse
×
1549
        var persistenceErr error
×
1550
        var forwardCall bool
×
1551
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1552
                response, persistenceErr = p.persistence.ListOpenWorkflowExecutionsByType(ctx, request)
×
1553
        }
×
1554

1555
        if fakeErr != nil {
×
1556
                p.logger.Error(msgInjectedFakeErr,
×
1557
                        tag.StoreOperationListOpenWorkflowExecutionsByType,
×
1558
                        tag.Error(fakeErr),
×
1559
                        tag.Bool(forwardCall),
×
1560
                        tag.StoreError(persistenceErr),
×
1561
                )
×
1562
                return nil, fakeErr
×
1563
        }
×
1564
        return response, persistenceErr
×
1565
}
1566

1567
func (p *visibilityErrorInjectionPersistenceClient) ListClosedWorkflowExecutionsByType(
1568
        ctx context.Context,
1569
        request *ListWorkflowExecutionsByTypeRequest,
1570
) (*ListWorkflowExecutionsResponse, error) {
×
1571
        fakeErr := generateFakeError(p.errorRate)
×
1572

×
1573
        var response *ListWorkflowExecutionsResponse
×
1574
        var persistenceErr error
×
1575
        var forwardCall bool
×
1576
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1577
                response, persistenceErr = p.persistence.ListClosedWorkflowExecutionsByType(ctx, request)
×
1578
        }
×
1579

1580
        if fakeErr != nil {
×
1581
                p.logger.Error(msgInjectedFakeErr,
×
1582
                        tag.StoreOperationListClosedWorkflowExecutionsByType,
×
1583
                        tag.Error(fakeErr),
×
1584
                        tag.Bool(forwardCall),
×
1585
                        tag.StoreError(persistenceErr),
×
1586
                )
×
1587
                return nil, fakeErr
×
1588
        }
×
1589
        return response, persistenceErr
×
1590
}
1591

1592
func (p *visibilityErrorInjectionPersistenceClient) ListOpenWorkflowExecutionsByWorkflowID(
1593
        ctx context.Context,
1594
        request *ListWorkflowExecutionsByWorkflowIDRequest,
1595
) (*ListWorkflowExecutionsResponse, error) {
×
1596
        fakeErr := generateFakeError(p.errorRate)
×
1597

×
1598
        var response *ListWorkflowExecutionsResponse
×
1599
        var persistenceErr error
×
1600
        var forwardCall bool
×
1601
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1602
                response, persistenceErr = p.persistence.ListOpenWorkflowExecutionsByWorkflowID(ctx, request)
×
1603
        }
×
1604

1605
        if fakeErr != nil {
×
1606
                p.logger.Error(msgInjectedFakeErr,
×
1607
                        tag.StoreOperationListOpenWorkflowExecutionsByWorkflowID,
×
1608
                        tag.Error(fakeErr),
×
1609
                        tag.Bool(forwardCall),
×
1610
                        tag.StoreError(persistenceErr),
×
1611
                )
×
1612
                return nil, fakeErr
×
1613
        }
×
1614
        return response, persistenceErr
×
1615
}
1616

1617
func (p *visibilityErrorInjectionPersistenceClient) ListClosedWorkflowExecutionsByWorkflowID(
1618
        ctx context.Context,
1619
        request *ListWorkflowExecutionsByWorkflowIDRequest,
1620
) (*ListWorkflowExecutionsResponse, error) {
×
1621
        fakeErr := generateFakeError(p.errorRate)
×
1622

×
1623
        var response *ListWorkflowExecutionsResponse
×
1624
        var persistenceErr error
×
1625
        var forwardCall bool
×
1626
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1627
                response, persistenceErr = p.persistence.ListClosedWorkflowExecutionsByWorkflowID(ctx, request)
×
1628
        }
×
1629

1630
        if fakeErr != nil {
×
1631
                p.logger.Error(msgInjectedFakeErr,
×
1632
                        tag.StoreOperationListClosedWorkflowExecutionsByWorkflowID,
×
1633
                        tag.Error(fakeErr),
×
1634
                        tag.Bool(forwardCall),
×
1635
                        tag.StoreError(persistenceErr),
×
1636
                )
×
1637
                return nil, fakeErr
×
1638
        }
×
1639
        return response, persistenceErr
×
1640
}
1641

1642
func (p *visibilityErrorInjectionPersistenceClient) ListClosedWorkflowExecutionsByStatus(
1643
        ctx context.Context,
1644
        request *ListClosedWorkflowExecutionsByStatusRequest,
1645
) (*ListWorkflowExecutionsResponse, error) {
×
1646
        fakeErr := generateFakeError(p.errorRate)
×
1647

×
1648
        var response *ListWorkflowExecutionsResponse
×
1649
        var persistenceErr error
×
1650
        var forwardCall bool
×
1651
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1652
                response, persistenceErr = p.persistence.ListClosedWorkflowExecutionsByStatus(ctx, request)
×
1653
        }
×
1654

1655
        if fakeErr != nil {
×
1656
                p.logger.Error(msgInjectedFakeErr,
×
1657
                        tag.StoreOperationListClosedWorkflowExecutionsByStatus,
×
1658
                        tag.Error(fakeErr),
×
1659
                        tag.Bool(forwardCall),
×
1660
                        tag.StoreError(persistenceErr),
×
1661
                )
×
1662
                return nil, fakeErr
×
1663
        }
×
1664
        return response, persistenceErr
×
1665
}
1666

1667
func (p *visibilityErrorInjectionPersistenceClient) GetClosedWorkflowExecution(
1668
        ctx context.Context,
1669
        request *GetClosedWorkflowExecutionRequest,
1670
) (*GetClosedWorkflowExecutionResponse, error) {
×
1671
        fakeErr := generateFakeError(p.errorRate)
×
1672

×
1673
        var response *GetClosedWorkflowExecutionResponse
×
1674
        var persistenceErr error
×
1675
        var forwardCall bool
×
1676
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1677
                response, persistenceErr = p.persistence.GetClosedWorkflowExecution(ctx, request)
×
1678
        }
×
1679

1680
        if fakeErr != nil {
×
1681
                p.logger.Error(msgInjectedFakeErr,
×
1682
                        tag.StoreOperationGetClosedWorkflowExecution,
×
1683
                        tag.Error(fakeErr),
×
1684
                        tag.Bool(forwardCall),
×
1685
                        tag.StoreError(persistenceErr),
×
1686
                )
×
1687
                return nil, fakeErr
×
1688
        }
×
1689
        return response, persistenceErr
×
1690
}
1691

1692
func (p *visibilityErrorInjectionPersistenceClient) DeleteWorkflowExecution(
1693
        ctx context.Context,
1694
        request *VisibilityDeleteWorkflowExecutionRequest,
1695
) error {
×
1696
        fakeErr := generateFakeError(p.errorRate)
×
1697

×
1698
        var persistenceErr error
×
1699
        var forwardCall bool
×
1700
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1701
                persistenceErr = p.persistence.DeleteWorkflowExecution(ctx, request)
×
1702
        }
×
1703

1704
        if fakeErr != nil {
×
1705
                p.logger.Error(msgInjectedFakeErr,
×
1706
                        tag.StoreOperationVisibilityDeleteWorkflowExecution,
×
1707
                        tag.Error(fakeErr),
×
1708
                        tag.Bool(forwardCall),
×
1709
                        tag.StoreError(persistenceErr),
×
1710
                )
×
1711
                return fakeErr
×
1712
        }
×
1713
        return persistenceErr
×
1714
}
1715

1716
func (p *visibilityErrorInjectionPersistenceClient) DeleteUninitializedWorkflowExecution(
1717
        ctx context.Context,
1718
        request *VisibilityDeleteWorkflowExecutionRequest,
1719
) error {
×
1720
        fakeErr := generateFakeError(p.errorRate)
×
1721

×
1722
        var persistenceErr error
×
1723
        var forwardCall bool
×
1724
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1725
                persistenceErr = p.persistence.DeleteUninitializedWorkflowExecution(ctx, request)
×
1726
        }
×
1727

1728
        if fakeErr != nil {
×
1729
                p.logger.Error(msgInjectedFakeErr,
×
1730
                        tag.StoreOperationVisibilityDeleteWorkflowExecution,
×
1731
                        tag.Error(fakeErr),
×
1732
                        tag.Bool(forwardCall),
×
1733
                        tag.StoreError(persistenceErr),
×
1734
                )
×
1735
                return fakeErr
×
1736
        }
×
1737
        return persistenceErr
×
1738
}
1739

1740
func (p *visibilityErrorInjectionPersistenceClient) ListWorkflowExecutions(
1741
        ctx context.Context,
1742
        request *ListWorkflowExecutionsByQueryRequest,
1743
) (*ListWorkflowExecutionsResponse, error) {
×
1744
        fakeErr := generateFakeError(p.errorRate)
×
1745

×
1746
        var response *ListWorkflowExecutionsResponse
×
1747
        var persistenceErr error
×
1748
        var forwardCall bool
×
1749
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1750
                response, persistenceErr = p.persistence.ListWorkflowExecutions(ctx, request)
×
1751
        }
×
1752

1753
        if fakeErr != nil {
×
1754
                p.logger.Error(msgInjectedFakeErr,
×
1755
                        tag.StoreOperationListWorkflowExecutions,
×
1756
                        tag.Error(fakeErr),
×
1757
                        tag.Bool(forwardCall),
×
1758
                        tag.StoreError(persistenceErr),
×
1759
                )
×
1760
                return nil, fakeErr
×
1761
        }
×
1762
        return response, persistenceErr
×
1763
}
1764

1765
func (p *visibilityErrorInjectionPersistenceClient) ScanWorkflowExecutions(
1766
        ctx context.Context,
1767
        request *ListWorkflowExecutionsByQueryRequest,
1768
) (*ListWorkflowExecutionsResponse, error) {
×
1769
        fakeErr := generateFakeError(p.errorRate)
×
1770

×
1771
        var response *ListWorkflowExecutionsResponse
×
1772
        var persistenceErr error
×
1773
        var forwardCall bool
×
1774
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1775
                response, persistenceErr = p.persistence.ScanWorkflowExecutions(ctx, request)
×
1776
        }
×
1777

1778
        if fakeErr != nil {
×
1779
                p.logger.Error(msgInjectedFakeErr,
×
1780
                        tag.StoreOperationScanWorkflowExecutions,
×
1781
                        tag.Error(fakeErr),
×
1782
                        tag.Bool(forwardCall),
×
1783
                        tag.StoreError(persistenceErr),
×
1784
                )
×
1785
                return nil, fakeErr
×
1786
        }
×
1787
        return response, persistenceErr
×
1788
}
1789

1790
func (p *visibilityErrorInjectionPersistenceClient) CountWorkflowExecutions(
1791
        ctx context.Context,
1792
        request *CountWorkflowExecutionsRequest,
1793
) (*CountWorkflowExecutionsResponse, error) {
×
1794
        fakeErr := generateFakeError(p.errorRate)
×
1795

×
1796
        var response *CountWorkflowExecutionsResponse
×
1797
        var persistenceErr error
×
1798
        var forwardCall bool
×
1799
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1800
                response, persistenceErr = p.persistence.CountWorkflowExecutions(ctx, request)
×
1801
        }
×
1802

1803
        if fakeErr != nil {
×
1804
                p.logger.Error(msgInjectedFakeErr,
×
1805
                        tag.StoreOperationCountWorkflowExecutions,
×
1806
                        tag.Error(fakeErr),
×
1807
                        tag.Bool(forwardCall),
×
1808
                        tag.StoreError(persistenceErr),
×
1809
                )
×
1810
                return nil, fakeErr
×
1811
        }
×
1812
        return response, persistenceErr
×
1813
}
1814

1815
func (p *visibilityErrorInjectionPersistenceClient) Close() {
×
1816
        p.persistence.Close()
×
1817
}
×
1818

1819
func (p *historyErrorInjectionPersistenceClient) GetName() string {
×
1820
        return p.persistence.GetName()
×
1821
}
×
1822

1823
// AppendHistoryNodes add(or override) a node to a history branch
1824
func (p *historyErrorInjectionPersistenceClient) AppendHistoryNodes(
1825
        ctx context.Context,
1826
        request *AppendHistoryNodesRequest,
1827
) (*AppendHistoryNodesResponse, error) {
×
1828
        fakeErr := generateFakeError(p.errorRate)
×
1829

×
1830
        var response *AppendHistoryNodesResponse
×
1831
        var persistenceErr error
×
1832
        var forwardCall bool
×
1833
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1834
                response, persistenceErr = p.persistence.AppendHistoryNodes(ctx, request)
×
1835
        }
×
1836

1837
        if fakeErr != nil {
×
1838
                p.logger.Error(msgInjectedFakeErr,
×
1839
                        tag.StoreOperationAppendHistoryNodes,
×
1840
                        tag.Error(fakeErr),
×
1841
                        tag.Bool(forwardCall),
×
1842
                        tag.StoreError(persistenceErr),
×
1843
                )
×
1844
                return nil, fakeErr
×
1845
        }
×
1846
        return response, persistenceErr
×
1847
}
1848

1849
// ReadHistoryBranch returns history node data for a branch
1850
func (p *historyErrorInjectionPersistenceClient) ReadHistoryBranch(
1851
        ctx context.Context,
1852
        request *ReadHistoryBranchRequest,
1853
) (*ReadHistoryBranchResponse, error) {
×
1854
        fakeErr := generateFakeError(p.errorRate)
×
1855

×
1856
        var response *ReadHistoryBranchResponse
×
1857
        var persistenceErr error
×
1858
        var forwardCall bool
×
1859
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1860
                response, persistenceErr = p.persistence.ReadHistoryBranch(ctx, request)
×
1861
        }
×
1862

1863
        if fakeErr != nil {
×
1864
                p.logger.Error(msgInjectedFakeErr,
×
1865
                        tag.StoreOperationReadHistoryBranch,
×
1866
                        tag.Error(fakeErr),
×
1867
                        tag.Bool(forwardCall),
×
1868
                        tag.StoreError(persistenceErr),
×
1869
                )
×
1870
                return nil, fakeErr
×
1871
        }
×
1872
        return response, persistenceErr
×
1873
}
1874

1875
// ReadHistoryBranchByBatch returns history node data for a branch
1876
func (p *historyErrorInjectionPersistenceClient) ReadHistoryBranchByBatch(
1877
        ctx context.Context,
1878
        request *ReadHistoryBranchRequest,
1879
) (*ReadHistoryBranchByBatchResponse, error) {
×
1880
        fakeErr := generateFakeError(p.errorRate)
×
1881

×
1882
        var response *ReadHistoryBranchByBatchResponse
×
1883
        var persistenceErr error
×
1884
        var forwardCall bool
×
1885
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1886
                response, persistenceErr = p.persistence.ReadHistoryBranchByBatch(ctx, request)
×
1887
        }
×
1888

1889
        if fakeErr != nil {
×
1890
                p.logger.Error(msgInjectedFakeErr,
×
1891
                        tag.StoreOperationReadHistoryBranchByBatch,
×
1892
                        tag.Error(fakeErr),
×
1893
                        tag.Bool(forwardCall),
×
1894
                        tag.StoreError(persistenceErr),
×
1895
                )
×
1896
                return nil, fakeErr
×
1897
        }
×
1898
        return response, persistenceErr
×
1899
}
1900

1901
// ReadHistoryBranchByBatch returns history node data for a branch
1902
func (p *historyErrorInjectionPersistenceClient) ReadRawHistoryBranch(
1903
        ctx context.Context,
1904
        request *ReadHistoryBranchRequest,
1905
) (*ReadRawHistoryBranchResponse, error) {
×
1906
        fakeErr := generateFakeError(p.errorRate)
×
1907

×
1908
        var response *ReadRawHistoryBranchResponse
×
1909
        var persistenceErr error
×
1910
        var forwardCall bool
×
1911
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1912
                response, persistenceErr = p.persistence.ReadRawHistoryBranch(ctx, request)
×
1913
        }
×
1914

1915
        if fakeErr != nil {
×
1916
                p.logger.Error(msgInjectedFakeErr,
×
1917
                        tag.StoreOperationReadRawHistoryBranch,
×
1918
                        tag.Error(fakeErr),
×
1919
                        tag.Bool(forwardCall),
×
1920
                        tag.StoreError(persistenceErr),
×
1921
                )
×
1922
                return nil, fakeErr
×
1923
        }
×
1924
        return response, persistenceErr
×
1925
}
1926

1927
// ForkHistoryBranch forks a new branch from a old branch
1928
func (p *historyErrorInjectionPersistenceClient) ForkHistoryBranch(
1929
        ctx context.Context,
1930
        request *ForkHistoryBranchRequest,
1931
) (*ForkHistoryBranchResponse, error) {
×
1932
        fakeErr := generateFakeError(p.errorRate)
×
1933

×
1934
        var response *ForkHistoryBranchResponse
×
1935
        var persistenceErr error
×
1936
        var forwardCall bool
×
1937
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1938
                response, persistenceErr = p.persistence.ForkHistoryBranch(ctx, request)
×
1939
        }
×
1940

1941
        if fakeErr != nil {
×
1942
                p.logger.Error(msgInjectedFakeErr,
×
1943
                        tag.StoreOperationForkHistoryBranch,
×
1944
                        tag.Error(fakeErr),
×
1945
                        tag.Bool(forwardCall),
×
1946
                        tag.StoreError(persistenceErr),
×
1947
                )
×
1948
                return nil, fakeErr
×
1949
        }
×
1950
        return response, persistenceErr
×
1951
}
1952

1953
// DeleteHistoryBranch removes a branch
1954
func (p *historyErrorInjectionPersistenceClient) DeleteHistoryBranch(
1955
        ctx context.Context,
1956
        request *DeleteHistoryBranchRequest,
1957
) error {
×
1958
        fakeErr := generateFakeError(p.errorRate)
×
1959

×
1960
        var persistenceErr error
×
1961
        var forwardCall bool
×
1962
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1963
                persistenceErr = p.persistence.DeleteHistoryBranch(ctx, request)
×
1964
        }
×
1965

1966
        if fakeErr != nil {
×
1967
                p.logger.Error(msgInjectedFakeErr,
×
1968
                        tag.StoreOperationDeleteHistoryBranch,
×
1969
                        tag.Error(fakeErr),
×
1970
                        tag.Bool(forwardCall),
×
1971
                        tag.StoreError(persistenceErr),
×
1972
                )
×
1973
                return fakeErr
×
1974
        }
×
1975
        return persistenceErr
×
1976
}
1977

1978
// GetHistoryTree returns all branch information of a tree
1979
func (p *historyErrorInjectionPersistenceClient) GetHistoryTree(
1980
        ctx context.Context,
1981
        request *GetHistoryTreeRequest,
1982
) (*GetHistoryTreeResponse, error) {
×
1983
        fakeErr := generateFakeError(p.errorRate)
×
1984

×
1985
        var response *GetHistoryTreeResponse
×
1986
        var persistenceErr error
×
1987
        var forwardCall bool
×
1988
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
1989
                response, persistenceErr = p.persistence.GetHistoryTree(ctx, request)
×
1990
        }
×
1991

1992
        if fakeErr != nil {
×
1993
                p.logger.Error(msgInjectedFakeErr,
×
1994
                        tag.StoreOperationGetHistoryTree,
×
1995
                        tag.Error(fakeErr),
×
1996
                        tag.Bool(forwardCall),
×
1997
                        tag.StoreError(persistenceErr),
×
1998
                )
×
1999
                return nil, fakeErr
×
2000
        }
×
2001
        return response, persistenceErr
×
2002
}
2003

2004
func (p *historyErrorInjectionPersistenceClient) GetAllHistoryTreeBranches(
2005
        ctx context.Context,
2006
        request *GetAllHistoryTreeBranchesRequest,
2007
) (*GetAllHistoryTreeBranchesResponse, error) {
×
2008
        fakeErr := generateFakeError(p.errorRate)
×
2009

×
2010
        var response *GetAllHistoryTreeBranchesResponse
×
2011
        var persistenceErr error
×
2012
        var forwardCall bool
×
2013
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2014
                response, persistenceErr = p.persistence.GetAllHistoryTreeBranches(ctx, request)
×
2015
        }
×
2016

2017
        if fakeErr != nil {
×
2018
                p.logger.Error(msgInjectedFakeErr,
×
2019
                        tag.StoreOperationGetAllHistoryTreeBranches,
×
2020
                        tag.Error(fakeErr),
×
2021
                        tag.Bool(forwardCall),
×
2022
                        tag.StoreError(persistenceErr),
×
2023
                )
×
2024
                return nil, fakeErr
×
2025
        }
×
2026
        return response, persistenceErr
×
2027
}
2028

2029
func (p *historyErrorInjectionPersistenceClient) Close() {
×
2030
        p.persistence.Close()
×
2031
}
×
2032

2033
func (p *queueErrorInjectionPersistenceClient) EnqueueMessage(
2034
        ctx context.Context,
2035
        message []byte,
2036
) error {
×
2037
        fakeErr := generateFakeError(p.errorRate)
×
2038

×
2039
        var persistenceErr error
×
2040
        var forwardCall bool
×
2041
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2042
                persistenceErr = p.persistence.EnqueueMessage(ctx, message)
×
2043
        }
×
2044

2045
        if fakeErr != nil {
×
2046
                p.logger.Error(msgInjectedFakeErr,
×
2047
                        tag.StoreOperationEnqueueMessage,
×
2048
                        tag.Error(fakeErr),
×
2049
                        tag.Bool(forwardCall),
×
2050
                        tag.StoreError(persistenceErr),
×
2051
                )
×
2052
                return fakeErr
×
2053
        }
×
2054
        return persistenceErr
×
2055
}
2056

2057
func (p *queueErrorInjectionPersistenceClient) ReadMessages(
2058
        ctx context.Context,
2059
        lastMessageID int64,
2060
        maxCount int,
2061
) ([]*QueueMessage, error) {
×
2062
        fakeErr := generateFakeError(p.errorRate)
×
2063

×
2064
        var response []*QueueMessage
×
2065
        var persistenceErr error
×
2066
        var forwardCall bool
×
2067
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2068
                response, persistenceErr = p.persistence.ReadMessages(ctx, lastMessageID, maxCount)
×
2069
        }
×
2070

2071
        if fakeErr != nil {
×
2072
                p.logger.Error(msgInjectedFakeErr,
×
2073
                        tag.StoreOperationReadMessages,
×
2074
                        tag.Error(fakeErr),
×
2075
                        tag.Bool(forwardCall),
×
2076
                        tag.StoreError(persistenceErr),
×
2077
                )
×
2078
                return nil, fakeErr
×
2079
        }
×
2080
        return response, persistenceErr
×
2081
}
2082

2083
func (p *queueErrorInjectionPersistenceClient) UpdateAckLevel(
2084
        ctx context.Context,
2085
        messageID int64,
2086
        clusterName string,
2087
) error {
×
2088
        fakeErr := generateFakeError(p.errorRate)
×
2089

×
2090
        var persistenceErr error
×
2091
        var forwardCall bool
×
2092
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2093
                persistenceErr = p.persistence.UpdateAckLevel(ctx, messageID, clusterName)
×
2094
        }
×
2095

2096
        if fakeErr != nil {
×
2097
                p.logger.Error(msgInjectedFakeErr,
×
2098
                        tag.StoreOperationUpdateAckLevel,
×
2099
                        tag.Error(fakeErr),
×
2100
                        tag.Bool(forwardCall),
×
2101
                        tag.StoreError(persistenceErr),
×
2102
                )
×
2103
                return fakeErr
×
2104
        }
×
2105
        return persistenceErr
×
2106
}
2107

2108
func (p *queueErrorInjectionPersistenceClient) GetAckLevels(
2109
        ctx context.Context,
2110
) (map[string]int64, error) {
×
2111
        fakeErr := generateFakeError(p.errorRate)
×
2112

×
2113
        var response map[string]int64
×
2114
        var persistenceErr error
×
2115
        var forwardCall bool
×
2116
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2117
                response, persistenceErr = p.persistence.GetAckLevels(ctx)
×
2118
        }
×
2119

2120
        if fakeErr != nil {
×
2121
                p.logger.Error(msgInjectedFakeErr,
×
2122
                        tag.StoreOperationGetAckLevels,
×
2123
                        tag.Error(fakeErr),
×
2124
                        tag.Bool(forwardCall),
×
2125
                        tag.StoreError(persistenceErr),
×
2126
                )
×
2127
                return nil, fakeErr
×
2128
        }
×
2129
        return response, persistenceErr
×
2130
}
2131

2132
func (p *queueErrorInjectionPersistenceClient) DeleteMessagesBefore(
2133
        ctx context.Context,
2134
        messageID int64,
2135
) error {
×
2136
        fakeErr := generateFakeError(p.errorRate)
×
2137

×
2138
        var persistenceErr error
×
2139
        var forwardCall bool
×
2140
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2141
                persistenceErr = p.persistence.DeleteMessagesBefore(ctx, messageID)
×
2142
        }
×
2143

2144
        if fakeErr != nil {
×
2145
                p.logger.Error(msgInjectedFakeErr,
×
2146
                        tag.StoreOperationDeleteMessagesBefore,
×
2147
                        tag.Error(fakeErr),
×
2148
                        tag.Bool(forwardCall),
×
2149
                        tag.StoreError(persistenceErr),
×
2150
                )
×
2151
                return fakeErr
×
2152
        }
×
2153
        return persistenceErr
×
2154
}
2155

2156
func (p *queueErrorInjectionPersistenceClient) EnqueueMessageToDLQ(
2157
        ctx context.Context,
2158
        message []byte,
2159
) error {
×
2160
        fakeErr := generateFakeError(p.errorRate)
×
2161

×
2162
        var persistenceErr error
×
2163
        var forwardCall bool
×
2164
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2165
                persistenceErr = p.persistence.EnqueueMessageToDLQ(ctx, message)
×
2166
        }
×
2167

2168
        if fakeErr != nil {
×
2169
                p.logger.Error(msgInjectedFakeErr,
×
2170
                        tag.StoreOperationEnqueueMessageToDLQ,
×
2171
                        tag.Error(fakeErr),
×
2172
                        tag.Bool(forwardCall),
×
2173
                        tag.StoreError(persistenceErr),
×
2174
                )
×
2175
                return fakeErr
×
2176
        }
×
2177
        return persistenceErr
×
2178
}
2179

2180
func (p *queueErrorInjectionPersistenceClient) ReadMessagesFromDLQ(
2181
        ctx context.Context,
2182
        firstMessageID int64,
2183
        lastMessageID int64,
2184
        pageSize int,
2185
        pageToken []byte,
2186
) ([]*QueueMessage, []byte, error) {
×
2187
        fakeErr := generateFakeError(p.errorRate)
×
2188

×
2189
        var response []*QueueMessage
×
2190
        var token []byte
×
2191
        var persistenceErr error
×
2192
        var forwardCall bool
×
2193
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2194
                response, token, persistenceErr = p.persistence.ReadMessagesFromDLQ(ctx, firstMessageID, lastMessageID, pageSize, pageToken)
×
2195
        }
×
2196

2197
        if fakeErr != nil {
×
2198
                p.logger.Error(msgInjectedFakeErr,
×
2199
                        tag.StoreOperationReadMessagesFromDLQ,
×
2200
                        tag.Error(fakeErr),
×
2201
                        tag.Bool(forwardCall),
×
2202
                        tag.StoreError(persistenceErr),
×
2203
                )
×
2204
                return nil, nil, fakeErr
×
2205
        }
×
2206
        return response, token, persistenceErr
×
2207
}
2208

2209
func (p *queueErrorInjectionPersistenceClient) RangeDeleteMessagesFromDLQ(
2210
        ctx context.Context,
2211
        firstMessageID int64,
2212
        lastMessageID int64,
2213
) error {
×
2214
        fakeErr := generateFakeError(p.errorRate)
×
2215

×
2216
        var persistenceErr error
×
2217
        var forwardCall bool
×
2218
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2219
                persistenceErr = p.persistence.RangeDeleteMessagesFromDLQ(ctx, firstMessageID, lastMessageID)
×
2220
        }
×
2221

2222
        if fakeErr != nil {
×
2223
                p.logger.Error(msgInjectedFakeErr,
×
2224
                        tag.StoreOperationRangeDeleteMessagesFromDLQ,
×
2225
                        tag.Error(fakeErr),
×
2226
                        tag.Bool(forwardCall),
×
2227
                        tag.StoreError(persistenceErr),
×
2228
                )
×
2229
                return fakeErr
×
2230
        }
×
2231
        return persistenceErr
×
2232
}
2233

2234
func (p *queueErrorInjectionPersistenceClient) UpdateDLQAckLevel(
2235
        ctx context.Context,
2236
        messageID int64,
2237
        clusterName string,
2238
) error {
×
2239
        fakeErr := generateFakeError(p.errorRate)
×
2240

×
2241
        var persistenceErr error
×
2242
        var forwardCall bool
×
2243
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2244
                persistenceErr = p.persistence.UpdateDLQAckLevel(ctx, messageID, clusterName)
×
2245
        }
×
2246

2247
        if fakeErr != nil {
×
2248
                p.logger.Error(msgInjectedFakeErr,
×
2249
                        tag.StoreOperationUpdateDLQAckLevel,
×
2250
                        tag.Error(fakeErr),
×
2251
                        tag.Bool(forwardCall),
×
2252
                        tag.StoreError(persistenceErr),
×
2253
                )
×
2254
                return fakeErr
×
2255
        }
×
2256
        return persistenceErr
×
2257
}
2258

2259
func (p *queueErrorInjectionPersistenceClient) GetDLQAckLevels(
2260
        ctx context.Context,
2261
) (map[string]int64, error) {
×
2262
        fakeErr := generateFakeError(p.errorRate)
×
2263

×
2264
        var response map[string]int64
×
2265
        var persistenceErr error
×
2266
        var forwardCall bool
×
2267
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2268
                response, persistenceErr = p.persistence.GetDLQAckLevels(ctx)
×
2269
        }
×
2270

2271
        if fakeErr != nil {
×
2272
                p.logger.Error(msgInjectedFakeErr,
×
2273
                        tag.StoreOperationGetDLQAckLevels,
×
2274
                        tag.Error(fakeErr),
×
2275
                        tag.Bool(forwardCall),
×
2276
                        tag.StoreError(persistenceErr),
×
2277
                )
×
2278
                return nil, fakeErr
×
2279
        }
×
2280
        return response, persistenceErr
×
2281
}
2282

2283
func (p *queueErrorInjectionPersistenceClient) GetDLQSize(
2284
        ctx context.Context,
2285
) (int64, error) {
×
2286
        fakeErr := generateFakeError(p.errorRate)
×
2287

×
2288
        var response int64
×
2289
        var persistenceErr error
×
2290
        var forwardCall bool
×
2291
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2292
                response, persistenceErr = p.persistence.GetDLQSize(ctx)
×
2293
        }
×
2294

2295
        if fakeErr != nil {
×
2296
                p.logger.Error(msgInjectedFakeErr,
×
2297
                        tag.StoreOperationGetDLQSize,
×
2298
                        tag.Error(fakeErr),
×
2299
                        tag.Bool(forwardCall),
×
2300
                        tag.StoreError(persistenceErr),
×
2301
                )
×
2302
                return 0, fakeErr
×
2303
        }
×
2304
        return response, persistenceErr
×
2305
}
2306

2307
func (p *queueErrorInjectionPersistenceClient) DeleteMessageFromDLQ(
2308
        ctx context.Context,
2309
        messageID int64,
2310
) error {
×
2311
        fakeErr := generateFakeError(p.errorRate)
×
2312

×
2313
        var persistenceErr error
×
2314
        var forwardCall bool
×
2315
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2316
                persistenceErr = p.persistence.DeleteMessageFromDLQ(ctx, messageID)
×
2317
        }
×
2318

2319
        if fakeErr != nil {
×
2320
                p.logger.Error(msgInjectedFakeErr,
×
2321
                        tag.StoreOperationDeleteMessageFromDLQ,
×
2322
                        tag.Error(fakeErr),
×
2323
                        tag.Bool(forwardCall),
×
2324
                        tag.StoreError(persistenceErr),
×
2325
                )
×
2326
                return fakeErr
×
2327
        }
×
2328
        return persistenceErr
×
2329
}
2330

2331
func (p *queueErrorInjectionPersistenceClient) Close() {
×
2332
        p.persistence.Close()
×
2333
}
×
2334

2335
func (p *configStoreErrorInjectionPersistenceClient) FetchDynamicConfig(ctx context.Context, cfgType ConfigType) (*FetchDynamicConfigResponse, error) {
×
2336
        fakeErr := generateFakeError(p.errorRate)
×
2337

×
2338
        var response *FetchDynamicConfigResponse
×
2339
        var persistenceErr error
×
2340
        var forwardCall bool
×
2341
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2342
                response, persistenceErr = p.persistence.FetchDynamicConfig(ctx, cfgType)
×
2343
        }
×
2344

2345
        if fakeErr != nil {
×
2346
                p.logger.Error(msgInjectedFakeErr,
×
2347
                        tag.StoreOperationFetchDynamicConfig,
×
2348
                        tag.Error(fakeErr),
×
2349
                        tag.Bool(forwardCall),
×
2350
                        tag.StoreError(persistenceErr),
×
2351
                )
×
2352
                return nil, fakeErr
×
2353
        }
×
2354
        return response, persistenceErr
×
2355
}
2356

2357
func (p *configStoreErrorInjectionPersistenceClient) UpdateDynamicConfig(ctx context.Context, request *UpdateDynamicConfigRequest, cfgType ConfigType) error {
×
2358
        fakeErr := generateFakeError(p.errorRate)
×
2359

×
2360
        var persistenceErr error
×
2361
        var forwardCall bool
×
2362
        if forwardCall = shouldForwardCallToPersistence(fakeErr); forwardCall {
×
2363
                persistenceErr = p.persistence.UpdateDynamicConfig(ctx, request, cfgType)
×
2364
        }
×
2365

2366
        if fakeErr != nil {
×
2367
                p.logger.Error(msgInjectedFakeErr,
×
2368
                        tag.StoreOperationUpdateDynamicConfig,
×
2369
                        tag.Error(fakeErr),
×
2370
                        tag.Bool(forwardCall),
×
2371
                        tag.StoreError(persistenceErr),
×
2372
                )
×
2373
                return fakeErr
×
2374
        }
×
2375
        return persistenceErr
×
2376
}
2377

2378
func (p *configStoreErrorInjectionPersistenceClient) Close() {
×
2379
        p.persistence.Close()
×
2380
}
×
2381

2382
func shouldForwardCallToPersistence(
2383
        err error,
2384
) bool {
×
2385
        if err == nil {
×
2386
                return true
×
2387
        }
×
2388

2389
        if err == ErrFakeTimeout || err == errors.ErrFakeUnhandled {
×
2390
                // forward the call with 50% chance
×
2391
                return rand.Intn(2) == 0
×
2392
        }
×
2393

2394
        return false
×
2395
}
2396

2397
func generateFakeError(
2398
        errorRate float64,
2399
) error {
×
2400
        if rand.Float64() < errorRate {
×
2401
                return fakeErrors[rand.Intn(len(fakeErrors))]
×
2402
        }
×
2403

2404
        return nil
×
2405
}
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

© 2026 Coveralls, Inc