Skip to content

Commit c0186c9

Browse files
author
Sumeet Rai
committed
remove redundant cancel func storage
1 parent 077fc6a commit c0186c9

File tree

3 files changed

+20
-49
lines changed

3 files changed

+20
-49
lines changed

Diff for: cli/server.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,14 @@ func runServer(ctx context.Context, cfg *Config) error {
152152
}
153153
}()
154154

155-
assetService, cancel := asset.NewService(asset.ServiceDeps{
155+
assetService := asset.NewService(asset.ServiceDeps{
156156
AssetRepo: assetRepository,
157157
DiscoveryRepo: discoveryRepository,
158158
LineageRepo: lineageRepository,
159159
Worker: wrkr,
160160
Logger: logger,
161161
Config: cfg.Asset,
162162
})
163-
defer cancel()
164163

165164
// init discussion
166165
discussionRepository, err := postgres.NewDiscussionRepository(pgClient, 0)

Diff for: core/asset/service.go

+5-19
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ type Service struct {
2020
worker Worker
2121
logger log.Logger
2222
config Config
23-
cancelFnList []func()
2423

2524
assetOpCounter metric.Int64Counter
2625
}
@@ -44,7 +43,7 @@ type ServiceDeps struct {
4443
Config Config
4544
}
4645

47-
func NewService(deps ServiceDeps) (service *Service, cancel func()) {
46+
func NewService(deps ServiceDeps) (service *Service) {
4847
assetOpCounter, err := otel.Meter("github.com/goto/compass/core/asset").
4948
Int64Counter("compass.asset.operation")
5049
if err != nil {
@@ -58,16 +57,11 @@ func NewService(deps ServiceDeps) (service *Service, cancel func()) {
5857
worker: deps.Worker,
5958
logger: deps.Logger,
6059
config: deps.Config,
61-
cancelFnList: make([]func(), 0),
6260

6361
assetOpCounter: assetOpCounter,
6462
}
6563

66-
return newService, func() {
67-
for i := range newService.cancelFnList {
68-
newService.cancelFnList[i]()
69-
}
70-
}
64+
return newService
7165
}
7266

7367
func (s *Service) GetAllAssets(ctx context.Context, flt Filter, withTotal bool) ([]Asset, uint32, error) {
@@ -154,23 +148,15 @@ func (s *Service) DeleteAssets(ctx context.Context, request DeleteAssetsRequest)
154148

155149
if !request.DryRun && total > 0 {
156150
newCtx, cancel := context.WithTimeout(context.Background(), s.config.DeleteAssetsTimeout)
157-
idx := len(s.cancelFnList)
158-
s.cancelFnList = append(s.cancelFnList, cancel)
159-
go func(index int) {
151+
go func() {
152+
defer cancel()
160153
s.executeDeleteAssets(newCtx, deleteSQLExpr)
161-
s.removeCancelFnByIndex(index)
162-
}(idx)
154+
}()
163155
}
164156

165157
return uint32(total), nil
166158
}
167159

168-
func (s *Service) removeCancelFnByIndex(index int) {
169-
if index < len(s.cancelFnList) {
170-
s.cancelFnList = append(s.cancelFnList[:index], s.cancelFnList[index+1:]...)
171-
}
172-
}
173-
174160
func (s *Service) executeDeleteAssets(ctx context.Context, deleteSQLExpr queryexpr.ExprStr) {
175161
deletedURNs, err := s.assetRepository.DeleteByQueryExpr(ctx, deleteSQLExpr)
176162
if err != nil {

Diff for: core/asset/service_test.go

+14-28
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,11 @@ func TestService_GetAllAssets(t *testing.T) {
9090
tc.Setup(ctx, mockAssetRepo, mockDiscoveryRepo, mockLineageRepo)
9191
}
9292

93-
svc, cancel := asset.NewService(asset.ServiceDeps{
93+
svc := asset.NewService(asset.ServiceDeps{
9494
AssetRepo: mockAssetRepo,
9595
DiscoveryRepo: mockDiscoveryRepo,
9696
LineageRepo: mockLineageRepo,
9797
})
98-
defer cancel()
9998

10099
got, cnt, err := svc.GetAllAssets(ctx, tc.Filter, tc.WithTotal)
101100
if err != nil && errors.Is(tc.Err, err) {
@@ -161,8 +160,7 @@ func TestService_GetTypes(t *testing.T) {
161160
tc.Setup(ctx, mockAssetRepo)
162161
}
163162

164-
svc, cancel := asset.NewService(asset.ServiceDeps{AssetRepo: mockAssetRepo})
165-
defer cancel()
163+
svc := asset.NewService(asset.ServiceDeps{AssetRepo: mockAssetRepo})
166164

167165
got, err := svc.GetTypes(ctx, tc.Filter)
168166
if err != nil && errors.Is(tc.Err, err) {
@@ -247,13 +245,12 @@ func TestService_UpsertAsset(t *testing.T) {
247245
tc.Setup(ctx, assetRepo, discoveryRepo, lineageRepo)
248246
}
249247

250-
svc, cancel := asset.NewService(asset.ServiceDeps{
248+
svc := asset.NewService(asset.ServiceDeps{
251249
AssetRepo: assetRepo,
252250
DiscoveryRepo: discoveryRepo,
253251
LineageRepo: lineageRepo,
254252
Worker: workermanager.NewInSituWorker(workermanager.Deps{DiscoveryRepo: discoveryRepo}),
255253
})
256-
defer cancel()
257254

258255
rid, err := svc.UpsertAsset(ctx, tc.Asset, tc.Upstreams, tc.Downstreams)
259256
if tc.Err != nil {
@@ -312,13 +309,12 @@ func TestService_UpsertAssetWithoutLineage(t *testing.T) {
312309
tc.Setup(ctx, assetRepo, discoveryRepo)
313310
}
314311

315-
svc, cancel := asset.NewService(asset.ServiceDeps{
312+
svc := asset.NewService(asset.ServiceDeps{
316313
AssetRepo: assetRepo,
317314
DiscoveryRepo: discoveryRepo,
318315
LineageRepo: mocks.NewLineageRepository(t),
319316
Worker: workermanager.NewInSituWorker(workermanager.Deps{DiscoveryRepo: discoveryRepo}),
320317
})
321-
defer cancel()
322318

323319
rid, err := svc.UpsertAssetWithoutLineage(ctx, tc.Asset)
324320
if tc.Err != nil {
@@ -440,13 +436,12 @@ func TestService_DeleteAsset(t *testing.T) {
440436
tc.Setup(ctx, assetRepo, discoveryRepo, lineageRepo)
441437
}
442438

443-
svc, cancel := asset.NewService(asset.ServiceDeps{
439+
svc := asset.NewService(asset.ServiceDeps{
444440
AssetRepo: assetRepo,
445441
DiscoveryRepo: discoveryRepo,
446442
LineageRepo: lineageRepo,
447443
Worker: workermanager.NewInSituWorker(workermanager.Deps{DiscoveryRepo: discoveryRepo}),
448444
})
449-
defer cancel()
450445

451446
err := svc.DeleteAsset(ctx, tc.ID)
452447
if err != nil && errors.Is(tc.Err, err) {
@@ -524,13 +519,12 @@ func TestService_DeleteAssets(t *testing.T) {
524519
tc.Setup(ctx, assetRepo, worker, lineageRepo)
525520
}
526521

527-
svc, cancel := asset.NewService(asset.ServiceDeps{
522+
svc := asset.NewService(asset.ServiceDeps{
528523
AssetRepo: assetRepo,
529524
DiscoveryRepo: discoveryRepo,
530525
LineageRepo: lineageRepo,
531526
Worker: worker,
532527
})
533-
defer cancel()
534528

535529
affectedRows, err := svc.DeleteAssets(ctx, tc.Request)
536530
time.Sleep(1 * time.Second)
@@ -652,12 +646,11 @@ func TestService_GetAssetByID(t *testing.T) {
652646
tc.Setup(ctx, mockAssetRepo)
653647
}
654648

655-
svc, cancel := asset.NewService(asset.ServiceDeps{
649+
svc := asset.NewService(asset.ServiceDeps{
656650
AssetRepo: mockAssetRepo,
657651
DiscoveryRepo: mocks.NewDiscoveryRepository(t),
658652
LineageRepo: mocks.NewLineageRepository(t),
659653
})
660-
defer cancel()
661654

662655
actual, err := svc.GetAssetByID(ctx, tc.ID)
663656
if tc.Expected != nil {
@@ -762,12 +755,11 @@ func TestService_GetAssetByIDWithoutProbes(t *testing.T) {
762755
tc.Setup(ctx, mockAssetRepo)
763756
}
764757

765-
svc, cancel := asset.NewService(asset.ServiceDeps{
758+
svc := asset.NewService(asset.ServiceDeps{
766759
AssetRepo: mockAssetRepo,
767760
DiscoveryRepo: mocks.NewDiscoveryRepository(t),
768761
LineageRepo: mocks.NewLineageRepository(t),
769762
})
770-
defer cancel()
771763

772764
actual, err := svc.GetAssetByIDWithoutProbes(ctx, tc.ID)
773765
if tc.Expected != nil {
@@ -836,12 +828,11 @@ func TestService_GetAssetByVersion(t *testing.T) {
836828
tc.Setup(ctx, mockAssetRepo)
837829
}
838830

839-
svc, cancel := asset.NewService(asset.ServiceDeps{
831+
svc := asset.NewService(asset.ServiceDeps{
840832
AssetRepo: mockAssetRepo,
841833
DiscoveryRepo: mocks.NewDiscoveryRepository(t),
842834
LineageRepo: mocks.NewLineageRepository(t),
843835
})
844-
defer cancel()
845836

846837
_, err := svc.GetAssetByVersion(ctx, tc.ID, "v0.0.2")
847838
if tc.ExpectedErr != nil {
@@ -890,12 +881,11 @@ func TestService_GetAssetVersionHistory(t *testing.T) {
890881
tc.Setup(ctx, mockAssetRepo)
891882
}
892883

893-
svc, cancel := asset.NewService(asset.ServiceDeps{
884+
svc := asset.NewService(asset.ServiceDeps{
894885
AssetRepo: mockAssetRepo,
895886
DiscoveryRepo: mockDiscoveryRepo,
896887
LineageRepo: mockLineageRepo,
897888
})
898-
defer cancel()
899889

900890
_, err := svc.GetAssetVersionHistory(ctx, asset.Filter{}, tc.ID)
901891
if err != nil && errors.Is(tc.Err, err) {
@@ -1077,12 +1067,11 @@ func TestService_GetLineage(t *testing.T) {
10771067
tc.Setup(ctx, mockAssetRepo, mockDiscoveryRepo, mockLineageRepo)
10781068
}
10791069

1080-
svc, cancel := asset.NewService(asset.ServiceDeps{
1070+
svc := asset.NewService(asset.ServiceDeps{
10811071
AssetRepo: mockAssetRepo,
10821072
DiscoveryRepo: mockDiscoveryRepo,
10831073
LineageRepo: mockLineageRepo,
10841074
})
1085-
defer cancel()
10861075

10871076
actual, err := svc.GetLineage(ctx, "urn-source-1", tc.Query)
10881077
if tc.Err == nil {
@@ -1152,12 +1141,11 @@ func TestService_SearchSuggestGroupAssets(t *testing.T) {
11521141
tc.Setup(ctx, mockDiscoveryRepo)
11531142
}
11541143

1155-
svc, cancel := asset.NewService(asset.ServiceDeps{
1144+
svc := asset.NewService(asset.ServiceDeps{
11561145
AssetRepo: mockAssetRepo,
11571146
DiscoveryRepo: mockDiscoveryRepo,
11581147
LineageRepo: mockLineageRepo,
11591148
})
1160-
defer cancel()
11611149

11621150
_, err := svc.SearchAssets(ctx, asset.SearchConfig{})
11631151
if err != nil && !assert.Equal(t, tc.ErrSearch, err) {
@@ -1189,8 +1177,7 @@ func TestService_CreateAssetProbe(t *testing.T) {
11891177
mockAssetRepo := mocks.NewAssetRepository(t)
11901178
mockAssetRepo.EXPECT().AddProbe(ctx, assetURN, &probe).Return(nil)
11911179

1192-
svc, cancel := asset.NewService(asset.ServiceDeps{AssetRepo: mockAssetRepo})
1193-
defer cancel()
1180+
svc := asset.NewService(asset.ServiceDeps{AssetRepo: mockAssetRepo})
11941181

11951182
err := svc.AddProbe(ctx, assetURN, &probe)
11961183
assert.NoError(t, err)
@@ -1202,8 +1189,7 @@ func TestService_CreateAssetProbe(t *testing.T) {
12021189
mockAssetRepo := mocks.NewAssetRepository(t)
12031190
mockAssetRepo.EXPECT().AddProbe(ctx, assetURN, &probe).Return(expectedErr)
12041191

1205-
svc, cancel := asset.NewService(asset.ServiceDeps{AssetRepo: mockAssetRepo})
1206-
defer cancel()
1192+
svc := asset.NewService(asset.ServiceDeps{AssetRepo: mockAssetRepo})
12071193

12081194
err := svc.AddProbe(ctx, assetURN, &probe)
12091195
assert.Equal(t, expectedErr, err)

0 commit comments

Comments
 (0)