【发布时间】:2015-11-19 01:32:16
【问题描述】:
当我在 aerospike 中将太多参数传递给 UDF 函数(LUA 脚本)时,我收到一条错误消息,提示“为 Func 类型的声明指定了错误数量的类型参数。”。
我试图将 5k 个值作为一个列表传递,一个“值”中包含 5k 个字符串对象。我尝试了 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 的列表参数中传递的最大数量是多少吗?有什么办法可以扩展吗?
*这是一个后台方法,每天运行两次,性能在这里并不重要。
【问题讨论】:
-
仅供参考,我改变了方法,改为在具有一些并行化的二级索引上触发 5k 查询,响应速度更快,并且我也避免了扫描。不管怎样,知道极限还是不错的。