Oracle Coherence - dynamically refresh Well Known Addresses

49 Views Asked by At

My application uses Oracle Coherence which is running on a number of AWS EC2 instances. EC2 instances can be terminated and created so their IP addresses have dynamic nature. I cannot use multicast to form Oracle Coherence cluster, so I have started using Well Known Addresses to form the cluster (Coherence documentation).

To deal with dynamic nature of EC2 IP addresses - I have created custom Address Provider which uses Java AWS SDK to obtain a list of required EC2 IP addresses. However, this list can potentially change if some of the EC2s are terminated and re-created.

My custom address provider is evaluated only once during Coherence cluster startup which doesn't help with mentioned problem statement.

Looking for the solution - I came across Class RefreshableAddressProvider (documentation) which in a nutshell is a wrapper on top of created address provider and allows to call address provider regularly with predefined refresh rate.

Based on the Coherence logs created refreshable address provider is indeed being called, but I can still see following warning log message:

Oracle Coherence CE 14.1.1.0.14 (thread=Cluster, member=n/a): This member is configured with a compatible but different WKA list than the senior Member

It feels like RefreshableAddressProvider doesn't help and WKA list still remains unchanged (reflects cluster startup position).

Is there a way to dynamically change WKA list for a cluster during its runtime (without restarting it)?

0

There are 0 best solutions below