¿Por qué aparece un error al insertar filas con Net :: :: Cassandra Fácil y Cassandra 0.5x?

StackOverflow https://stackoverflow.com/questions/2488783

  •  21-09-2019
  •  | 
  •  

Pregunta

Cuando se utiliza el módulo de Perl Net :: :: Cassandra Fácil para interactuar con Cassandra utilizo el siguiente código para leer columnas col[123] de filas row[123] en el Standard1 columna familiar:

my $cassandra = Net::Cassandra::Easy->new(keyspace => 'Keyspace1', server => 'localhost');
$cassandra->connect();
my $result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', byname => ['col1', 'col2', 'col3']);

Esto funciona como se esperaba.

Sin embargo, cuando se trata de insertar una fila de row1 con ..

$result = $cassandra->mutate(['row1'], family => 'Standard1', insertions => { "col1" => "Value to set." });

.. Me da la Can't use string ("0") as a SCALAR ref while "strict refs" in use at .../Net/GenThrift/Thrift/BinaryProtocol.pm line 376 mensaje de error.

¿Qué estoy haciendo mal?

¿Fue útil?

Solución 2

El código funciona como se esperaba bajo Cassandra 0.6.x, pero falla bajo Cassandra 0.5.x.

Parece como si Net::Cassandra::Easy se dirige solamente Cassandra 0.6.x.

La actualización a Cassandra 0.6.x resuelve el problema.

Otros consejos

Parece un error en la librería:

sub readByte
{
    my $self  = shift;
    my $value = shift;

    my $data = $self->{trans}->readAll(1);
    my @arr = unpack('c', $data);
    $$value = $arr[0];    # <~ line 376
    return 1;
}

(de Net::GenThrift::Thrift::BinaryProtocol)

Al parecer ese sub está siendo llamado desde algún lugar de la biblioteca donde $value no es una variable, pero un escalar constante. Me reportar el problema a los autores.

hmm, se parece más a un fallo vinculante Perl al manejar excepción a mí.

Creo que 0,6 arreglos por usted ya que la interfaz ha cambiado de hecho, por lo que 0.6 no es elevar una excepción de segunda mano más, pero el fallo en el ahorro restos. He abierto un caso JIRA, veremos que el equipo de segunda mano dice al respecto:

https://issues.apache.org/jira/browse/THRIFT-758

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top