in wrapper/src/main/java/software/amazon/jdbc/PluginServiceImpl.java [363:395]
protected EnumSet<NodeChangeOptions> compare(
final @NonNull HostSpec hostSpecA,
final @NonNull HostSpec hostSpecB) {
final EnumSet<NodeChangeOptions> changes = EnumSet.noneOf(NodeChangeOptions.class);
if (!hostSpecA.getHost().equals(hostSpecB.getHost())
|| hostSpecA.getPort() != hostSpecB.getPort()) {
changes.add(NodeChangeOptions.HOSTNAME);
}
if (hostSpecA.getRole() != hostSpecB.getRole()) {
if (hostSpecB.getRole() == HostRole.WRITER) {
changes.add(NodeChangeOptions.PROMOTED_TO_WRITER);
} else if (hostSpecB.getRole() == HostRole.READER) {
changes.add(NodeChangeOptions.PROMOTED_TO_READER);
}
}
if (hostSpecA.getAvailability() != hostSpecB.getAvailability()) {
if (hostSpecB.getAvailability() == HostAvailability.AVAILABLE) {
changes.add(NodeChangeOptions.WENT_UP);
} else if (hostSpecB.getAvailability() == HostAvailability.NOT_AVAILABLE) {
changes.add(NodeChangeOptions.WENT_DOWN);
}
}
if (!changes.isEmpty()) {
changes.add(NodeChangeOptions.NODE_CHANGED);
}
return changes;
}