После того, как я обновил сервер aerospike и Java-клиент, у меня появился странный статус "выполнено (заброшено-неизвестно)" в aql > показать сканы
При запросе набора с несколькими реестрами будет "выполнено(хорошо)", но при запросе большего набора будет "готово(заброшено-неизвестно)".
Такое поведение происходит, когда сервер aerospike работает на Redhat, но если он работает на Mac с vagrant, он имеет "active(ok)" с job_status "IN_PROGRESS" и блокирует.
Работающий код представляет собой простой код scala, например:
object Simple {
var nodeList: Array[Node] = empty
def main(args: Array[String]) {
val initialHost: String = "XXX.XX.XX.XX:3000"
val namespace: String = "test"
val set: String = "hundred"
// val set: String = "hundred_thousand"
val select: String = "select * from %s.%s".format(namespace, set)
val policy = new ClientPolicy()
val splitHost = initialHost.split(":")
val client = new AerospikeClient(policy, splitHost(0), splitHost(1).toInt)
try {
nodeList = client.getNodes
val stmt = new Statement()
stmt.setNamespace(namespace)
stmt.setSetName(set)
val recs: RecordSet = client.queryNode(client.queryPolicyDefault, stmt, nodeList.head)
try {
val iterator = recs.iterator()
if (iterator.hasNext) {
val record = iterator.next().record
println(record)
}
} finally {
recs.close()
}
}
finally {
client.close()
}
}
}