从aerospike检索字节时的分段错误(核心转储)

时间:2015-03-16 10:04:30

标签: aerospike

我正在使用Aerospike 3.5.4和python客户端1.0.38。 我的目的是使用这个python客户端将Float值存储和检索到Aerospike中,因为Aerospike本身不支持Float数据类型。从下面的代码片段中,我能够将转换为二进制数据的float插入到Aerospike中,但在检索时我收到了Segmentation fault(core dumped)。

import aerospike
import struct
aerospike_config = {
  'hosts': [('localhost', 3000), ],
}
obj  = aerospike.client(aerospike_config).connect()
key = ('my_namespace', 'my_set', 59)
f = struct.pack('f', 20.6)
obj.put(key, {'price':f})
print struct.unpack('f', obj.get(key))

使用aql检查数据时,如下所示。

aql> select * from my_namespace.my_set where PK=59

+ -------- + |价格| + -------- + | “ ̤A”| + -------- + 1行(0.001秒)

请帮助。

1 个答案:

答案 0 :(得分:0)

这在Aerospike Python客户端版本1.0.40中得到修复,其中包括以下功能:

  • 使用cPickle增强了对不支持类型的自动序列化。
  • 支持用户提供的序列化/解串器方法,作为自动序列化的替代方法。