@@ -38,7 +38,7 @@ type ServiceInstance interface {
38
38
39
39
type confService struct {
40
40
confService * configuration.Service
41
- deleted bool
41
+ cleanup bool
42
42
}
43
43
44
44
type discoveryInstanceParams struct {
@@ -94,14 +94,14 @@ func (s *ServiceDiscoveryInstance) UpdateServices(services []ServiceInstance) er
94
94
return err
95
95
}
96
96
reload := false
97
- s .markForDeletion ()
97
+ s .markForCleanUp ()
98
98
for _ , service := range services {
99
99
if s .serviceNotTracked (service .GetName ()) {
100
100
continue
101
101
}
102
102
if ! service .Changed () {
103
103
if se , ok := s .services [service .GetName ()]; ok {
104
- se .deleted = false
104
+ se .cleanup = false
105
105
}
106
106
continue
107
107
}
@@ -119,7 +119,7 @@ func (s *ServiceDiscoveryInstance) UpdateServices(services []ServiceInstance) er
119
119
}
120
120
reload = reload || r
121
121
}
122
- r := s .removeDeleted ()
122
+ r := s .cleanup ()
123
123
reload = reload || r
124
124
if reload {
125
125
if err := s .commitTransaction (); err != nil {
@@ -145,9 +145,9 @@ func (s *ServiceDiscoveryInstance) startTransaction() error {
145
145
return nil
146
146
}
147
147
148
- func (s * ServiceDiscoveryInstance ) markForDeletion () {
148
+ func (s * ServiceDiscoveryInstance ) markForCleanUp () {
149
149
for id := range s .services {
150
- s .services [id ].deleted = true
150
+ s .services [id ].cleanup = true
151
151
}
152
152
}
153
153
@@ -171,7 +171,7 @@ func (s *ServiceDiscoveryInstance) serviceNotTracked(service string) bool {
171
171
func (s * ServiceDiscoveryInstance ) initService (service ServiceInstance ) (bool , error ) {
172
172
if se , ok := s .services [service .GetName ()]; ok {
173
173
se .confService .SetTransactionID (s .transactionID )
174
- se .deleted = false
174
+ se .cleanup = false
175
175
return false , nil
176
176
}
177
177
se , err := s .client .NewService (service .GetBackendName (), configuration.ScalingParams {
@@ -188,23 +188,21 @@ func (s *ServiceDiscoveryInstance) initService(service ServiceInstance) (bool, e
188
188
}
189
189
s .services [service .GetName ()] = & confService {
190
190
confService : se ,
191
- deleted : false ,
191
+ cleanup : false ,
192
192
}
193
193
return reload , nil
194
194
}
195
195
196
- func (s * ServiceDiscoveryInstance ) removeDeleted () bool {
197
- reload := false
196
+ func (s * ServiceDiscoveryInstance ) cleanup () (reload bool ) {
198
197
for service := range s .services {
199
- if s .services [service ].deleted {
198
+ if s .services [service ].cleanup {
200
199
s .services [service ].confService .SetTransactionID (s .transactionID )
201
- err := s .services [service ].confService .Delete ()
202
- if err == nil {
203
- reload = true
204
- delete (s .services , service )
205
- }
200
+ changed , _ := s .services [service ].confService .Update ([]configuration.ServiceServer {})
201
+
202
+ reload = reload || changed
206
203
}
207
204
}
205
+
208
206
return reload
209
207
}
210
208
0 commit comments