package deletesvc import ( "context" "git.frostfs.info/TrueCloudLab/frostfs-node/internal/logs" objectSDK "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(logs.DeleteFormingTombstoneStructure) ok := exec.formTombstone(ctx) if !ok { return } exec.log.Debug(logs.DeleteTombstoneStructureSuccessfullyFormedSaving) 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(logs.DeleteCouldNotReadTombstoneLifetimeConfig, zap.String("error", err.Error()), ) return false } exec.tombstone = objectSDK.NewTombstone() exec.tombstone.SetExpirationEpoch( exec.svc.netInfo.CurrentEpoch() + tsLifetime, ) exec.addMembers([]oid.ID{exec.address().Object()}) exec.log.Debug(logs.DeleteFormingSplitInfo) ok = exec.formSplitInfo(ctx) if !ok { return } exec.log.Debug(logs.DeleteSplitInfoSuccessfullyFormedCollectingMembers) exec.tombstone.SetSplitID(exec.splitInfo.SplitID()) ok = exec.collectMembers(ctx) if !ok { return } exec.log.Debug(logs.DeleteMembersSuccessfullyCollected) ok = exec.initTombstoneObject() if !ok { return } return true }