2015-05-20 4 views
1

моего Lua кода получить на примере официального вебсайта:aerospike попытки UDF ошибки вызвать метод «карты» (нилъ значения)

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 команды:

ошибку в журналах такие, как удар:

20 мая 2015 7:12:07 GMT: DEBUG (UDF): (udf_rw.c: send_result: 515) FAILURE при вызове stream_udf mycount /Opt/aerospike/USR/UDF/lua/stream_udf.lua: 10: попытка опрокинуть l метод «карта» (значение nil) 20 мая 2015 07:12:07 GMT: DEBUG (udf): (udf_rw.c: send_udf_failure: 403) Неспецифический LDT или общий UDF Ошибка (/ opt/aerospike /usr/udf/lua/stream_udf.lua:10: попытка вызвать метод 'карты' (значение ноль))

, как решить эту проблему? спасибо

ответ

1

Это проблема Lua, когда она не будет автоматически преобразовывать нуль в строку, а функции типа print и info() ожидают такого типа. Измените свою линию на

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

Это работает для вас? –

Смежные вопросы