aerospike udf错误尝试调用方法'map'(零值)

时间:2015-05-20 07:16:40

标签: lua aerospike

我的lua代码来自官方网站的例子:

local function one(rec)
    info("lalalalal  %s",rec['id'])
    return 1
end
local function add(a, b)
    return a + b
end
function mycount(stream)
    return stream : map(one) : reduce(add);
end

当我使用aql命令时:

日志中的

错误,如打击:

  

2015年5月20日07:12:07 GMT:DEBUG(udf):( udf_rw.c:send_result:515)   调用stream_udf mycount时失败   /opt/aerospike/usr/udf/lua/stream_udf.lua:10:尝试调用方法   'map'(零值)2015年5月20日07:12:07 GMT:DEBUG(udf):   (udf_rw.c:send_udf_failure:403)非特殊LDT或通用UDF   错误(/opt/aerospike/usr/udf/lua/stream_udf.lua:10:尝试打电话   方法'map'(零值))

如何解决? 谢谢

1 个答案:

答案 0 :(得分:1)

这是一个Lua问题,它不会自动将nil转换为字符串,而print和info()等函数则需要该类型。将您的行更改为

info("lalalalal  %s", tostring(rec['id']))