I setup cassandra with default configuration in clean AWS instance, and I insert 10000 columns into a row, each column has a 1MB data. I use this ruby(version 1.9.3) script:

    10000.times do
        key = rand(36**8).to_s(36)
        value = rand(36**1024).to_s(36) * 1024
        Cas_client.insert(TestColumnFamily,TestRow,{key=>value})
    end

every time I run this script, it will crash:

/usr/local/lib/ruby/gems/1.9.1/gems/thrift-0.8.0/lib/thrift/transport/socket.rb:109:in `read': CassandraThrift::Cassandra::Client::TransportException from /usr/local/lib/ruby/gems/1.9.1/gems/thrift-0.8.0/lib/thrift/transport/base_transport.rb:87:in `read_all' from /usr/local/lib/ruby/gems/1.9.1/gems/thrift-0.8.0/lib/thrift/transport/framed_transport.rb:104:in `read_frame' from /usr/local/lib/ruby/gems/1.9.1/gems/thrift-0.8.0/lib/thrift/transport/framed_transport.rb:69:in `read_into_buffer' from /usr/local/lib/ruby/gems/1.9.1/gems/thrift-0.8.0/lib/thrift/client.rb:45:in `read_message_begin' from /usr/local/lib/ruby/gems/1.9.1/gems/thrift-0.8.0/lib/thrift/client.rb:45:in `receive_message' from /usr/local/lib/ruby/gems/1.9.1/gems/cassandra-0.15.0/vendor/0.8/gen-rb/cassandra.rb:251:in `recv_batch_mutate' from /usr/local/lib/ruby/gems/1.9.1/gems/cassandra-0.15.0/vendor/0.8/gen-rb/cassandra.rb:243:in `batch_mutate' from /usr/local/lib/ruby/gems/1.9.1/gems/thrift_client-0.8.1/lib/thrift_client/abstract_thrift_client.rb:150:in `handled_proxy' from /usr/local/lib/ruby/gems/1.9.1/gems/thrift_client-0.8.1/lib/thrift_client/abstract_thrift_client.rb:60:in `batch_mutate' from /usr/local/lib/ruby/gems/1.9.1/gems/cassandra-0.15.0/lib/cassandra/protocol.rb:7:in `_mutate' from /usr/local/lib/ruby/gems/1.9.1/gems/cassandra-0.15.0/lib/cassandra/cassandra.rb:463:in `insert'
        from a.rb:6:in `block in <main>'
        from a.rb:3:in `times'
        from a.rb:3:in `<main>'

yet cassandra performs normally, then I run another ruby script to get how many columns I have inserted:

    p cas_client.count_columns(TestColumnFamily,TestRow)

this script crashed again, same error message. And cassandra process remain in 100% cpu usage.


    AWS m1.xlarge type instance (15GB mem,800GB harddisk, 4cores cpu)
    cassandra-1.1.2
    ruby-1.9.3-p194
    jdk-7u6-linux-x64
    ruby-gems:
        cassandra (0.15.0)
        thrift (0.8.0)
        thrift_client (0.8.1)

What is the problem?

Reply via email to