Aerospike - 可以传递到查询中的参数的最大数量是多少?

当我向 Aerospike 中的 UDF 函数(LUA 脚本)传递太多参数时,我会收到一个错误,其中说“未正确指定类型参数的数量以声明 Func 类型。”

我试图传递 5,000 个值作为列表,其中一个“值”包含 5,000 个字符串对象。我尝试使用 100,仍然出现问题,但是 10 次成功了。

调用代码类似于:

var statement = new Statement();

statement.SetNamespace("blah");
statement.SetSetName("blu");
statement.SetBinNames("blee");

using (var result = Client.QueryAggregate(new QueryPolicy()
                                                          {
                                                              timeout = 600000
                                                          }, statement, packageName, functionName, parameters))
            {
                while (result.Next())
                {
                    retVal.Add((T) result.Object);
                }
            }

Aerospike 团队,您知道我可以在 LUA udf 中的列表参数中传递的最大数字吗?有没有办法扩展这个?

  • 这是一个每天运行两次的后台方法,性能并不是很重要。
点赞
用户582436
用户582436

Lua对于大量参数(超过50个)似乎不满意。您应该将Map()或表参数化并将其作为一个参数传递,然后在Lua函数中展开它。

请参阅UDF指南的已知限制部分。

Map()

知道的限制

UDF指南

2015-11-18 16:46:00