【问题标题】:Aerospike Parameter Error when appending to list附加到列表时出现 Aerospike 参数错误
【发布时间】:2021-10-04 16:44:21
【问题描述】:
        WritePolicy writePolicy = new WritePolicy();
        writePolicy.expiration = ttl;
        Key keyObject = new Key(aerospikeNamespace, aerospikeSetName, key);
        com.aerospike.client.Value value =  com.aerospike.client.Value.get(sessionId);
        ListPolicy listPolicy = new ListPolicy(ListOrder.UNORDERED, ListWriteFlags.ADD_UNIQUE | ListWriteFlags.NO_FAIL);
        aerospikeClient.operate(writePolicy, keyObject, ListOperation.append(listPolicy, bin, value, null));

出现异常:com.aerospike.client.AerospikeException:错误 4,1,30000,0,0,XXXXXXXXXXX XX.XXX.XX.XXX 3000:参数错误

此外,它适用于某些键,并为其他键提供此例外。使用 aerospike 集群,所有节点都已启动并连接

【问题讨论】:

    标签: aerospike aerospike-ce


    【解决方案1】:

    是否所有 Aerospike 节点都安装了相同的版本?

    “客户端发送非法参数。检查客户端参数并验证当前服务器版本是否支持。” - Aerospike 错误代码文档 (https://docs.aerospike.com/docs/dev_reference/error_codes.html) 中的参数错误说明。

    我怀疑未遇到此异常的节点正在使用受支持的服务器版本来执行您尝试执行的操作,而其他节点则没有。如果是这种情况,升级所有节点 Aerospike 服务器的版本以与最新的(在当前集群中)保持一致将解决它。

    【讨论】:

    • 是的,集群中所有节点的版本都不相同。其中两台服务器使用 3.15.1.4 版本,一台使用 4.5.1.4 版本。
    • 我相信您正在使用 Aerospike Server 3.15.1.4 不支持的功能,在具有 3.15.1.4 的节点上运行您的操作将失败并出现您提到的参数错误,我建议升级两者如果要使用此操作,其余节点要与 4.5.1.4 节点对齐。
    • 谢谢罗伊。根据他们的文档 (docs.aerospike.com/docs/guide/operations/list/insert.html) 自 4.3.0 起支持 NO_FAIL 功能
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2012-09-10
    • 2015-05-28
    • 2020-04-03
    • 1970-01-01
    相关资源
    最近更新 更多