执行 put through java 客户端时出现 Aerospike 异常错误代码 4 参数错误

fru*_*der 1 java client aerospike

我正在处理一个包含记录列表的 avro 文件,并对每条记录执行 client.put 到我本地的 Aerospike 商店。

由于某种原因,放置一定数量的记录是成功的,而对于其余的记录则不然。我正在这样做——

client.put(writePolicy, recordKey, bins);

失败调用的相关值是 -

命名空间=测试

集合名称 = 测试集

用户密钥 = some_string

写入策略=空

垃圾箱-

是用户:1

prof_loc:530049,530046,530032,530031,530017,530016,500046

rfm:白金

store_browsed:some_string

store_purch:some_string

城市ID:空

日志片段 -

com.aerospike.client.AerospikeException: Error Code 4: Parameter error at com.aerospike.client.command.WriteCommand.parseResult(WriteCommand.java:72) at com.aerospike.client.command.SyncCommand.execute(SyncCommand.java:56) at com.aerospike.client.AerospikeClient.put(AerospikeClient.java:338)

可能是什么问题?

fru*_*der 5

最后。解决!

REPLACE在本例中我使用的是RecordsExistsAction。在此配置中,任何具有值的 bin 都null将失败。Aerospike 将 bin 中的空值视为相当于从键的记录中删除该 bin 值。因此,REPLACE配置对于此类操作没有意义,因此会出现参数错误 - 无效的数据库操作。

UPDATE另一方面,配置将完美地工作。

  • 做过某事。我不得不等24小时 (2认同)