Aerospike - 可以传递给查询的参数的最大数量是多少
Aerospike - what are the max number of parameters that can be passed to a query
当我在 aerospike 中将太多参数传递给 UDF 函数(LUA 脚本)时,我收到一条错误消息,显示 "An incorrect number of type args were specified for the declaration of a Func type.".
我试图将 5k 个值作为列表传递,一个 "Value" 其中包含 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 的列表参数中传递的最大数量是多少吗?有什么办法可以扩展吗?
*This is a background method which is run twice a day, performance is not of much importance here.
Lua 似乎对大量参数(超过 50 个)不满意。您应该参数化 Map() 或 table 并将其作为一个参数传递,然后将其解压缩到您的 lua 函数中。
参见Known Limitations section of the UDF Guide。
当我在 aerospike 中将太多参数传递给 UDF 函数(LUA 脚本)时,我收到一条错误消息,显示 "An incorrect number of type args were specified for the declaration of a Func type.".
我试图将 5k 个值作为列表传递,一个 "Value" 其中包含 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 的列表参数中传递的最大数量是多少吗?有什么办法可以扩展吗?
*This is a background method which is run twice a day, performance is not of much importance here.
Lua 似乎对大量参数(超过 50 个)不满意。您应该参数化 Map() 或 table 并将其作为一个参数传递,然后将其解压缩到您的 lua 函数中。
参见Known Limitations section of the UDF Guide。