{"record":{"id":"108131880d60237b","repo":"flippercloud/flipper","slug":"min-timeout-ms-min-timeout-ms-inspect-must","errorCode":null,"errorMessage":":min_timeout_ms (#{@min_timeout_ms.inspect}) must be <= :max_timeout_ms (#{@max_timeout_ms.inspect})","messagePattern":":min_timeout_ms \\(#(.+?)\\) must be <= :max_timeout_ms \\(#(.+?)\\)","errorType":"exception","errorClass":"ArgumentError","httpStatus":null,"severity":"error","filePath":"lib/flipper/cloud/telemetry/backoff_policy.rb","lineNumber":57,"sourceCode":"            ENV.fetch(\"FLIPPER_BACKOFF_MAX_TIMEOUT_MS\", MAX_TIMEOUT_MS).to_i\n          }\n          @multiplier = options.fetch(:multiplier) {\n            ENV.fetch(\"FLIPPER_BACKOFF_MULTIPLIER\", MULTIPLIER).to_f\n          }\n          @randomization_factor = options.fetch(:randomization_factor) {\n            ENV.fetch(\"FLIPPER_BACKOFF_RANDOMIZATION_FACTOR\", RANDOMIZATION_FACTOR).to_f\n          }\n\n          unless @min_timeout_ms >= 0\n            raise ArgumentError, \":min_timeout_ms must be >= 0 but was #{@min_timeout_ms.inspect}\"\n          end\n\n          unless @max_timeout_ms >= 0\n            raise ArgumentError, \":max_timeout_ms must be >= 0 but was #{@max_timeout_ms.inspect}\"\n          end\n\n          unless @min_timeout_ms <= max_timeout_ms\n            raise ArgumentError, \":min_timeout_ms (#{@min_timeout_ms.inspect}) must be <= :max_timeout_ms (#{@max_timeout_ms.inspect})\"\n          end\n\n          @attempts = 0\n        end\n\n        # Public: Returns the next backoff interval in milliseconds.\n        def next_interval\n          interval = @min_timeout_ms * (@multiplier**@attempts)\n          interval = add_jitter(interval, @randomization_factor)\n\n          @attempts += 1\n\n          # cap the interval to the max timeout\n          result = [interval, @max_timeout_ms].min\n          # jitter even when maxed out\n          result == @max_timeout_ms ? add_jitter(result, 0.05) : result\n        end\n","sourceCodeStart":39,"sourceCodeEnd":75,"githubUrl":"https://github.com/flippercloud/flipper/blob/1f86de3ec91521585b156445e156642938b19cb0/lib/flipper/cloud/telemetry/backoff_policy.rb#L39-L75","documentation":"Error \":min_timeout_ms (#{@min_timeout_ms.inspect}) must be <= :max_timeout_ms (#{@max_timeout_ms.inspect})\" thrown in flippercloud/flipper.","triggerScenarios":"Thrown at lib/flipper/cloud/telemetry/backoff_policy.rb:57 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set min_timeout_ms to a value less than or equal to max_timeout_ms","Swap the two values if they were accidentally reversed","Omit both options to use the validated defaults"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1f86de3ec91521585b156445e156642938b19cb0","analyzedAt":"2026-08-23T04:36:09.896Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}