Strong consistency settings (in regards to partitioning)


#1

What are the configuration and read/write policy settings to achieve strong consistency in partitioned situations?

I understand that Aerospike makes all efforts to avoid partitions, but as discussed in this paper: http://www.aerospike.com/docs/architecture/assets/AerospikeACIDSupport.pdf, minority quorum can be halted. What is a configuration setting for that, does halt means that it will never re-join or just stops answering any requests?

Was there any progress implementing “static-cluster” method proposed in the paper?

Also, what is a Java client settings to enable strongly consistent reads? I can see C settings here : http://www.aerospike.com/docs/client/c/usage/consistency.html, but is there a Java alternative?

Ideally, there should be a situation where user request with reduced consistency could operate on minority quorum, and with strong consistency fail.

Thanks in advance Sasha


#2

Method such as the static-cluster described in the paper is on our roadmap. In our experience, use cases have favored the default setting provided by Aerospike, giving strong consistency with availability and the default conflict resolution.

Separately, we have recently enhanced usability of data-base wide settings such as “fire-and-forget” (on write) and “repeatable-read” by providing more granular control at the transaction level. This is the work provided in http://www.aerospike.com/docs/client/c/usage/consistency.html

Similar api will be followed in all other clients. If there is a specific language you are interested in, please let us know and it will help us prioritize.


#3

Hi Wei-Ling,

thank you for for reply. Just to confirm about the first question: in a current version, without static-cluster, is there a way to halt minority quorum? And if yes, what is a config for that?

Thanks Sasha


#4

Hi Sasha,

In the current version, there is not a way to halt with minority quorum.


#5

Aerospike recently announced support for Strong Consistency which is currently being tested by various parties.