当使用MassiveRecord过度节约将记录保存到HBase时,我会收到一个奇怪的“abort”错误。
以下代码将在Mac OS X上重现此错误,hbase(0.92.0和0.94.0)通过自制程序安装。
require 'massive_record'
MassiveRecord::ORM::Base.connection_configuration = { :host => 'hbase' }
class Woot < MassiveRecord::ORM::Table
default_scope select(:data)
column_family :data do
field :name, :string
end
end
woot = Woot.new( :name => 'rawr' )
woot.save
这总是导致进程停止,并留下消息
[1] 8756 abort ruby massive_woot.rb
检索工作很好,但我似乎无法保存记录。
以下是架构的外观:
>> describe 'woots'
DESCRIPTION ENABLED
{NAME => 'woots', FAMILIES => [{NAME => 'data', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', C true
OMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCA
CHE => 'true'}]}
1 row(s) in 0.0190 seconds
最佳答案
结果发现这是一个版本控制问题massiverecord v0.2.2依赖于thrift 0.6.0(由gemfile中的“=0.6.0”版本指定)。
我现在通过从github中提取massiverecord的“开发”分支解决了这个问题。
关于ruby-on-rails - HBase通过Ruby中的MassiveRecord导致中止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12984445/