antirez/redis-rb-cluster

After catch ASK send_cluster_command shouldn't update slots->node cache

Hailei opened this issue · 1 comments

After catch ASK send_cluster_command shouldn't update slots->node cache. it will result in more redirection.

  if errv[0] == "MOVED" || errv[0] == "ASK"
                    if errv[0] == "ASK"
                        asking = true
                    else
                        # Serve replied with MOVED. It's better for us to
                        # ask for CLUSTER NODES the next time.
                        @refresh_table_asap = true
                    end
                    newslot = errv[1].to_i
                    node_ip,node_port = errv[2].split(":")
                    @slots[newslot] = {:host => node_ip,
                                       :port => node_port.to_i}
                else
                    raise e
                end

Thanks! Fixed.