deleteBeacons marks the specified beacons as tombstones by setting their DeletedAt timestamp.
(ctx context.Context, beaconIDs []uint64)
| 352 | |
| 353 | // deleteBeacons marks the specified beacons as tombstones by setting their DeletedAt timestamp. |
| 354 | func (t *PropagationDelayTracker) deleteBeacons(ctx context.Context, beaconIDs []uint64) { |
| 355 | err := t.kv.CAS(ctx, propagationDelayTrackerKey, t.codec, func(in interface{}) (out interface{}, retry bool, err error) { |
| 356 | desc := GetOrCreatePropagationDelayTrackerDesc(in) |
| 357 | now := time.Now() |
| 358 | |
| 359 | changed := false |
| 360 | for _, beaconID := range beaconIDs { |
| 361 | beacon, exists := desc.Beacons[beaconID] |
| 362 | if exists && beacon.DeletedAt == 0 { |
| 363 | beacon.DeletedAt = now.UnixMilli() |
| 364 | desc.Beacons[beaconID] = beacon |
| 365 | changed = true |
| 366 | } |
| 367 | } |
| 368 | |
| 369 | if !changed { |
| 370 | return nil, false, nil |
| 371 | } |
| 372 | return desc, true, nil |
| 373 | }) |
| 374 | |
| 375 | if err != nil { |
| 376 | level.Warn(t.logger).Log("msg", "failed to mark beacons as deleted", "err", err) |
| 377 | } |
| 378 | } |
no test coverage detected