Hello again,
Currenty we fighting with a new scan bug. It seems somehow scan, amc and the java client gets out of sync. To be honest, i dont have any clue what we did to create this issue and were not able to reproduce the steps to create the issue. Anyways the issue seems to be persistent with our current setup, so maybe the devs are able to reproduce it a bit better / got a clue whats up.
We using scans more or less successfull in our pre production enviroment. We got them running and know how to handle them. Anyways under somehow not reproducle circumstances (at least we cant provide an example code, as we normally did) it happend that aero is in a not consistent state.
The issue: We implemented our own hashmap in java to save key values persistent in aero. All key value entrys are written to Namespace “maps”, with prefix “AeroMap_” plus an suffix for each key (single-bin). To iterate over all keys of our hashmap we doing a scan job.
So in our current env we got following entrys in aero:
AeroMap_a -> 1
If we now do a Scanjob for this Set, aero doesnt return records.
Instead if we ask aero to read “AeroMap_a” we get as expected 1 back.
If we add addtional values and got a set like this:
AeroMap_a -> 1
AeroMap_b -> 2
AeroMap_c -> 3
Aero returns via scan record B and C. Record A is still missing! even if AMC is saying 3 records for this set. Somehow the interesting part is, if we shutdown one node, the scanjob gives us the full set of keys.
Our Setup: 2 Nodes (3.5.9 Enterprise), AMC latest
Aerospike.conf for maps:
namespace maps {
replication-factor 2
memory-size 1G
default-ttl 0
single-bin true
storage-engine device {
file /opt/aerospike/data/maps.dat
filesize 10G
cold-start-empty true
}
}
Also we did a backup of via asbackup: here