{"record":{"id":"f64fecab58a6e276","repo":"faker-ruby/faker","slug":"retry-limit-exceeded-for-name","errorCode":null,"errorMessage":"Retry limit exceeded for #{name}","messagePattern":"Retry limit exceeded for #(.+?)","errorType":"exception","errorClass":"RetryLimitExceeded","httpStatus":null,"severity":"error","filePath":"lib/helpers/unique_generator.rb","lineNumber":22,"sourceCode":"  class UniqueGenerator\n    def initialize(generator, max_retries)\n      @generator = generator\n      @max_retries = max_retries\n    end\n\n    def method_missing(name, *arguments)\n      self.class.marked_unique.add(self)\n\n      @max_retries.times do\n        result = @generator.public_send(name, *arguments)\n\n        next if previous_results[[name, arguments]].include?(result)\n\n        previous_results[[name, arguments]] << result\n        return result\n      end\n\n      raise RetryLimitExceeded, \"Retry limit exceeded for #{name}\"\n    end\n    # Have method_missing use ruby 2.x keywords if the method exists.\n    # This is necessary because the syntax for passing arguments (`...`)\n    # is invalid on versions before Ruby 2.7, so it can't be used.\n    ruby2_keywords(:method_missing) if respond_to?(:ruby2_keywords, true)\n\n    def respond_to_missing?(method_name, include_private = false)\n      method_name.to_s.start_with?('faker_') || super\n    end\n\n    class RetryLimitExceeded < StandardError; end\n\n    def previous_results\n      Thread.current[:faker_unique_generator_previous_results] ||= {}\n      Thread.current[:faker_unique_generator_previous_results][@generator] ||= Hash.new { |hash, key| hash[key] = Set.new }\n    end\n\n    def clear","sourceCodeStart":4,"sourceCodeEnd":40,"githubUrl":"https://github.com/faker-ruby/faker/blob/cca4184947e09fdd02afb8b89d25a9c8ebc7274e/lib/helpers/unique_generator.rb#L4-L40","documentation":"Error \"Retry limit exceeded for #{name}\" thrown in faker-ruby/faker.","triggerScenarios":"Thrown at lib/helpers/unique_generator.rb:22 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":"cca4184947e09fdd02afb8b89d25a9c8ebc7274e","analyzedAt":"2026-08-21T16:25:39.145Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}