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);
                }
            }

A​​erospike 团队,知道我可以在 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