package deletesvc import ( "context" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id" "go.uber.org/zap" ) func (exec *execCtx) executeLocal(ctx context.Context) { exec.log.Debug("forming tombstone structure...") ok := exec.formTombstone(ctx) if !ok { return } exec.log.Debug("tombstone structure successfully formed, saving...") exec.saveTombstone(ctx) } func (exec *execCtx) formTombstone(ctx context.Context) (ok bool) { tsLifetime, err := exec.svc.netInfo.TombstoneLifetime() if err != nil { exec.status = statusUndefined exec.err = err exec.log.Debug("could not read tombstone lifetime config", zap.String("error", err.Error()), ) return false } exec.tombstone = object.NewTombstone() exec.tombstone.SetExpirationEpoch( exec.svc.netInfo.CurrentEpoch() + tsLifetime, ) exec.addMembers([]oid.ID{exec.address().Object()}) exec.log.Debug("forming split info...") ok = exec.formSplitInfo(ctx) if !ok { return } exec.log.Debug("split info successfully formed, collecting members...") exec.tombstone.SetSplitID(exec.splitInfo.SplitID()) ok = exec.collectMembers(ctx) if !ok { return } exec.log.Debug("members successfully collected") ok = exec.initTombstoneObject() if !ok { return } return true }