2010-02-03 12 views
13

sto ottenendo un'eccezione quando si utilizza gemma Memcached di Evan Weaver (come Memcached :: Rails.new) -> (http://github.com/fauna/memcached) e get_multi chiamata()Memcached rubygem + errore argomento Rlibmemcached con memcache_mget()

ArgumentError: wrong # of arguments(2 for 4) 
from /usr/local/lib/ruby/gems/1.8/gems/memcache-auth-1.0.1/lib/memcached/memcached.rb:384:in `memcached_mget' 
from /usr/local/lib/ruby/gems/1.8/gems/memcache-auth-1.0.1/lib/memcached/memcached.rb:384:in `get_orig' 
from /usr/local/lib/ruby/gems/1.8/gems/memcache-auth-1.0.1/lib/memcached/rails.rb:40:in `get_multi' 

ho notato che memcached_get.h memcached_mget definisce:

memcached_return memcached_mget(memcached_st *ptr, 
          const char * const *keys, 
          const size_t *key_length, 
          size_t number_of_keys); 

Quindi, sembrerebbe key_length e number_of_keys sono mancante (il mio C è un po 'arrugginito, ma sto presumendo argomentazioni quelli sarebbero necessarie).

Tuttavia, sembra che il codice Ruby associato (in rails.rb) sta passando solo 2 argomenti:

def get_multi(keys, raw=false) 
    get_orig(keys, !raw) 
end 

AGGIORNAMENTO: Abbiamo scoperto che era un bug nella gemma rubino, che ora è stato patchato .

+13

Si prega di aggiungere la risposta nella sezione "risposte" e contrassegnare questa domanda come risolta. – danlefree

risposta

1

Potrebbe essere un bug nella gemma Ruby? ;-)