Review CNode initialization in ReplicationManager - it doesn't use local CN reference
There is complicated fallback logic for performing certain CN API calls where the ReplicationManager CNode is supposed to be the local CN baseurl, and if that fails, it falls back to using the ReplicationService (roundRobin) CN to perform the same call. However, ReplicationManager is already using the RR CN, unless the D1Client.CN_URL is different for different deployments. But in that case, ReplicationService would also use the same D1Client.CN_URL property.
Simplifying this would help encapsulate client interaction, and connection management. Fallback CNode procurement uses D1NodeFactory + a locally instantiated DefaultHttpMultipartRestClient for both ReplicationManager and ReplicationServices (a recent temporary solution for v2). This leads to two ConnectionManagers in the underlying HttpClient.
Since ReplicationManager is a complicated class, I would first look to encapsulate logic in the ReplicationService class.
#2 Updated by Rob Nahf almost 6 years ago
- Assignee changed from Robert Waltz to Rob Nahf
- Target version changed from Release Backlog to CCI-2.2.0
work on this while working on the other Replication sotries for v2.2. Some of the D1Client behavior has since been cleaned up, so reconfirm the situation is still the same.