by amdalal » Thu Oct 10, 2013 8:51 pm
In my test setup on EC2 I have done following:
One Aerospike server is running in ZoneA (say Aerospike-A).
Another node of the same cluster is running in ZoneB (say Aerospike-B).
The application using above cluster is running in ZoneA again.
I am initializing AerospikeClinet like this:
CODE: SELECT ALL hosts = new Host; hosts = new Host(PUBLIC_IP_OF_AEROSPIKE-A, 3000); AerospikeClinet clinet = new AerospikeClient (policy, hosts);
With above setup I am getting below behavior:
Writes are happening on both Aerospike-A and Aerospike-B.
Reads are only happening on Aerospike-A (data is around 1million records, occupying 900MB of memory and 1.3 GB of disk)
Question: Why are reads not going to both the nodes?
If I take Aerospike-B down, everything works perfectly. There is no outage.
If I take Aerospike-A down, all the writes and reads start failing. I’ve waited for 5 mins for other node to take traffic but it didn’t work.
- In above scenario, I would expect Aerospike-B to take all the traffic. But this is not happening. Is there anything I am doing wrong?
- Should I be giving both the hosts while initializing the client?
- I had executed “clinfo -v ‘config-set:context=service;paxos-recovery-policy=auto-dun-all’” on both the nodes. Is that creating a problem?