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)
可能是什么问题?
最后。解决!
REPLACE在本例中我使用的是RecordsExistsAction。在此配置中,任何具有值的 bin 都null将失败。Aerospike 将 bin 中的空值视为相当于从键的记录中删除该 bin 值。因此,REPLACE配置对于此类操作没有意义,因此会出现参数错误 - 无效的数据库操作。
UPDATE另一方面,配置将完美地工作。