Hello,
I'm importing some data on Cassandra, running only on my laptop, with all
config values by default. After some time running the import script I've
written (which includes some reads besides the import writes), I get the
following error message and stack trace:
/opt/local/lib/ruby/gems/1.8/gems/thrift-0.2.0/lib/thrift/transport/socket.rb:108:in
`read': Socket: Timed out reading 4096 bytes from 127.0.0.1:9160
(Thrift::TransportException)
from
/opt/local/lib/ruby/gems/1.8/gems/thrift-0.2.0/lib/thrift/transport/buffered_transport.rb:50:in
`read'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift-0.2.0/lib/thrift/transport/base_transport.rb:52:in
`read_all'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift-0.2.0/lib/thrift/protocol/binary_protocol.rb:186:in
`read_i32'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift-0.2.0/lib/thrift/protocol/binary_protocol.rb:111:in
`read_message_begin'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift-0.2.0/lib/thrift/client.rb:45:in
`receive_message'
from
/opt/local/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/../vendor/gen-rb/cassandra.rb:96:in
`recv_multiget_slice'
from
/opt/local/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/../vendor/gen-rb/cassandra.rb:88:in
`multiget_slice'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:60:in
`send'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:60:in
`send_rpc'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:156:in
`send_rpc'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:56:in
`proxy'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:146:in
`proxy'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:49:in
`handled_proxy'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:142:in
`handled_proxy'
from
/opt/local/lib/ruby/gems/1.8/gems/thrift_client-0.4.1/lib/thrift_client/abstract_thrift_client.rb:23:in
`multiget_slice'
from
/opt/local/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/cassandra/protocol.rb:69:in
`_multiget'
from
/opt/local/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/cassandra/cassandra.rb:204:in
`multi_get'
from
/opt/local/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/cassandra/cassandra.rb:195:in
`get'
While this happened, the cassandra server didn't complained about anything, and
tpstats kept with this values:
Pool Name Active Pending Completed
FILEUTILS-DELETE-POOL 0 0 2
STREAM-STAGE 0 0 0
RESPONSE-STAGE 0 0 1
ROW-READ-STAGE 1 1 824743
LB-OPERATIONS 0 0 0
MESSAGE-DESERIALIZER-POOL 0 0 0
GMFD 0 0 0
LB-TARGET 0 0 0
CONSISTENCY-MANAGER 0 0 0
ROW-MUTATION-STAGE 0 0 1747456
MESSAGE-STREAMING-POOL 0 0 0
LOAD-BALANCER-STAGE 0 0 0
FLUSH-SORTER-POOL 0 0 0
MEMTABLE-POST-FLUSHER 0 0 12
FLUSH-WRITER-POOL 0 0 12
AE-SERVICE-STAGE 0 0 1
I was importing data from only one thread, using the same connection to
Cassandra
Can you give me some help to solve this? Should I catch the exception and
retry, or maybe there's some error that causing this behaviour?
Thanks in advance
--
Lucas Di Pentima - Santa Fe, Argentina
Jabber: [email protected]
MSN: [email protected]