Hello.
I have a one machine with aerospike version 3.7.0.2 running.
I write two test programs. In first one I insert 1000 records by next code
for ($i=1; $i<=1000; $i++) { $res = $ac->put($ac->initKey('test', 'test_queue', $i), [ 'test' => $i, 'state' => 1 ], 0, [Aerospike::OPT_POLICY_KEY => Aerospike::POLICY_KEY_SEND]); }
In next one I try to scan all this records:
$jobs = []; $ac = Model_Aerospike::getInstance(); $res = $ac->scan( 'test', 'test_queue', function ($record) use (&$jobs) { $jobs[] = $record; } ); Minion_Cli::write("res=$res, err=".$ac->error().', count='.count($jobs));
And when I put 1000 records I can get them all correctly. But when I put 10000 records, then my program on amazon server fails with TIMEOUT on scan and second file outs next:
res=9, err=Client timeout: timeout=2000 iterations=1 failedNodes=0 failedConns=0, count=93
And when after this I try to make select on any of sets in my namespace (by aql tool) I get the same TIMEOUT message without any record. And no one record and the same error on second script recall. After some time (maybe a half of hour) it begins work fine again. What can cause such kind of problem?
And one more detail: the same scan script runned on my local machine (ubuntu 14.04. Mostly the same like on amazon server) works normaly. And recall of this script doesn’t blocks any scan requests.