package searchsvc import ( "context" "git.frostfs.info/TrueCloudLab/frostfs-node/internal/logs" "go.uber.org/zap" ) // Search serves a request to select the objects. func (s *Service) Search(ctx context.Context, prm Prm) error { exec := &execCtx{ svc: s, prm: prm, } exec.prepare() exec.setLogger(s.log) exec.execute(ctx) return exec.statusError.err } func (exec *execCtx) execute(ctx context.Context) { exec.log.Debug(logs.SearchServingRequest) // perform local operation exec.executeLocal() exec.analyzeStatus(ctx, true) } func (exec *execCtx) analyzeStatus(ctx context.Context, execCnr bool) { // analyze local result switch exec.status { default: exec.log.Debug(logs.SearchOperationFinishedWithError, zap.String("error", exec.err.Error()), ) case statusOK: exec.log.Debug(logs.SearchOperationFinishedSuccessfully) } if execCnr { exec.executeOnContainer(ctx) exec.analyzeStatus(ctx, false) } }