Replication should fulfill policies with no requested number of replicas
We have seen some cases where ReplicationPolicy.replicationAllowed is set to "true", but there is no ReplicationPolicy.numReplicas attribute. It looks like the ReplicationManager on the Coordinating Nodes is defaulting to zero replicas in this case, rather than a default of say 1, 2, or 3. Fix the ReplicationManager to default to a number greater than zero for objects that state replicationAllowed=true. In the absence of a ReplicationPolicy, still default to zero.
An example of this issue arose with many system metadata documents for TERN objects, such as:
replicationTestNodeList used for unit testing excluded Read and other APIs from V2 nodes causing ReplicationManagerTestUnit to fail.
#1 Updated by Rob Nahf over 7 years ago
- Target version changed from CCI-2.1.0 to CCI-2.2.0
- % Done changed from 0 to 30
- Milestone set to None
- Project changed from CN REST to Infrastructure
- Category changed from d1_replication to d1_replication
- Status changed from New to In Progress
- Assignee changed from Chris Jones to Rob Nahf
Replication is failing for this TERN object for different reason: d1_replication is mistakenly checking the registered Node.services for MN_Replication, instead of MN_Read.
checking for registration of the MN_replication service goes way back to 2013, back when we weren't replicating content, so lay dormant.
Although this is a bug, would like to move this to v2.2.0, where the other replication stories are being worked on.
#2 Updated by Rob Nahf over 7 years ago
- Status changed from In Progress to Testing
- Target version changed from CCI-2.2.0 to CCI-2.1.0
- % Done changed from 30 to 50
moved back to 2.1, because fix is straightforward.
Will need to find places where the replication policy was not fulfilled, in TERN and elsewhere. This happens after the code fix is in place.