{"record":{"id":"a07af51056e5c3b1","repo":"gitlabhq/gitlabhq","slug":"opt-out-exists-for-target-name-remove-opt-out","errorCode":null,"errorMessage":"Opt-out exists for #{target_name} - remove opt-out before enabling","messagePattern":"Opt-out exists for #(.+?) - remove opt-out before enabling","errorType":"exception","errorClass":"Feature::InvalidOperation","httpStatus":400,"severity":"error","filePath":"app/services/admin/set_feature_flag_service.rb","lineNumber":88,"sourceCode":"                \"Cannot set '#{name}' (#{key.inspect}) to #{value.inspect}\"\n              else\n                \"Cannot set '#{name}' to #{value.inspect}\"\n              end\n\n        raise UnknownOperationError, msg\n      end\n    end\n\n    def remove_opt_out(target)\n      raise Feature::InvalidOperation, \"No opt-out exists for #{target}\" unless Feature.opted_out?(name, target)\n\n      Feature.remove_opt_out(name, target)\n    end\n\n    def enable(target)\n      if Feature.opted_out?(name, target)\n        target_name = target.respond_to?(:to_reference) ? target.to_reference : target.to_s\n        raise Feature::InvalidOperation, \"Opt-out exists for #{target_name} - remove opt-out before enabling\"\n      end\n\n      Feature.enable(name, target)\n    end\n\n    def value\n      params[:value]\n    end\n\n    def key\n      params[:key]\n    end\n\n    def numeric_value?\n      params[:value].match?(/^\\d+(\\.\\d+)?$/)\n    end\n\n    def percentage","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/gitlabhq/gitlabhq/blob/55ee20384a1f55cb0e362dee1d07149613b1b9bf/app/services/admin/set_feature_flag_service.rb#L70-L106","documentation":"Error \"Opt-out exists for #{target_name} - remove opt-out before enabling\" thrown in gitlabhq/gitlabhq.","triggerScenarios":"Thrown at app/services/admin/set_feature_flag_service.rb:88 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55ee20384a1f55cb0e362dee1d07149613b1b9bf","analyzedAt":"2026-08-21T14:22:27.782Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}