Articles in this section

FAQ - Can I use forwarding with bin convergence?

Detail

XDR topology:

DC1 <--> DC2 --> DC3


Given DC1 and DC2 have bin convergence enabled. Could we enable forwarding from DC2 to DC3?


Answer

Yes, the above configuration is supported. Please note that bin shipping is based on bin LUTs. With bin-convergence, XDR writes may bring in bins with older LUTs than the last-ship-time of the forwarded DC. Given that the cluster is stable and healthy, there shouldn’t be any issues with this setup.

In this scenario, the only caveat is if there is lag on DC1 for what ever reason, the record will reach DC2 later and since the LST on DC2 would have moved forward, it will chose not to ship that record as xdr will check from the current LST and see if a bin LUT is greater, it will ship if it is greater, if not then it won't.

In this case, the LST would be greater than LUT of that bin, though it may update the record on DC2, it will not get shipped. The bin level and record level LUT will be different. Bin level LUT is what ever we received from the source, where as the record level LUT will be the time when it's written on the destination. 

The way to circumvent that problem is having bin-policy set to all, as in that case we do not care about the bin-level LUT.

https://aerospike.com/docs/server/operations/configure/cross-datacenter/bin_convergence#forwarding-from-the-active-active-mesh


Notes

You cannot forward to a DC that has bin convergence enabled. For example:

XDR topology:

DC1 --> DC2 <--> DC3


Given DC2 and DC3 have bin convergence and DC2 has forwarding enabled.

Because XDR writes may bring in bins with older LUTs than the last-ship-time of the forwarded DC, this configuration is NOT supported. We would see the filtered_out metric increment when trying to forward writes from DC1 to DC3.


Applies To Earliest Version

5.4

Applies To Latest Version

Current Version
Was this article helpful?
0 out of 0 found this helpful