2

aerospike サーバーと Java クライアントを更新すると、aql > show scansで奇妙なステータス「done(abandoned-unknown)」が表示されます

ここに画像の説明を入力

いくつかのレジストリを含むセットを照会すると"done(ok)"が表示されますが、より大きなセットを照会すると"done(abandoned-unknown)" が表示されます。

この動作は、aerospike サーバーが Redhat で実行されている場合に発生しますが、Mac で vagrant を実行している場合は、job_status が「IN_PROGRESS」でブロックされた状態で「active(ok)」になります。

実行中のコードは、次のような単純なスカラ コードです。

  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()
    }
  }
}
4

1 に答える 1

0

(9 月 16 日の Aerospike フォーラムで回答。完全を期すためにここに回答を再コピー)

セットスキャンです。aerospike.log を参照してトラブルシューティングを行い、"(scan)" を grep すると、次のような情報が得られます。

Sep 14 2015 22:58:05 GMT: INFO (scan): (thr_tscan.c::871) scan job received
....
Sep 14 2015 22:58:06 GMT: INFO (scan): (thr_tscan.c::387) SCAN JOB DONE
于 2015-12-09T20:42:33.913 に答える