{"record":{"id":"34c2084ef9c3edb1","repo":"redis/redis-rb","slug":"redis-cluster-support-was-moved-to-the-redis-clus","errorCode":null,"errorMessage":"Redis Cluster support was moved to the `redis-clustering` gem.","messagePattern":"Redis Cluster support was moved to the `redis-clustering` gem\\.","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"lib/redis.rb","lineNumber":229,"sourceCode":"      @himport_fieldsets.clear\n      reply\n    end\n  end\n\n  private\n\n  # Builds @client from @options and applies any instance-level settings (socket inheritance) that\n  # live outside @options. Used both at construction and when the RESP3->RESP2 fallback rebuilds the\n  # client, so those settings survive a protocol downgrade.\n  def build_client\n    client = initialize_client(@options)\n    client.inherit_socket! if @inherit_socket\n    client\n  end\n\n  def initialize_client(options)\n    if options.key?(:cluster)\n      raise \"Redis Cluster support was moved to the `redis-clustering` gem.\"\n    end\n\n    if options.key?(:sentinels)\n      Client.sentinel(**options).new_client\n    else\n      Client.config(**options).new_client\n    end\n  end\n\n  # All access to @client funnels through here: it serializes on @monitor and applies the RESP3\n  # protocol fallback. Routing pipelined/multi/watch (which all call synchronize) through the same\n  # path means they fall back to RESP2 against pre-HELLO servers just like single commands do.\n  def synchronize\n    @monitor.synchronize do\n      with_protocol_fallback do\n        yield(@client)\n      end\n    end","sourceCodeStart":211,"sourceCodeEnd":247,"githubUrl":"https://github.com/redis/redis-rb/blob/2ba9010b91dab9e0fde1fbae3a9aae003f8bc307/lib/redis.rb#L211-L247","documentation":"Error \"Redis Cluster support was moved to the `redis-clustering` gem.\" thrown in redis/redis-rb.","triggerScenarios":"Thrown at lib/redis.rb:229 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install the redis-clustering gem and use Redis::Cluster.new instead of passing cluster: to Redis.new.","Remove the cluster: option from Redis.new for standalone connections."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2ba9010b91dab9e0fde1fbae3a9aae003f8bc307","analyzedAt":"2026-08-23T03:54:57.017Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}