Project

General

Profile

Bug #7314

CN can't fulfill the replication policy when we use the MN.updateSystemMetadata to add replication policy

Added by Jing Tao about 9 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
d1_synchronization
Target version:
Start date:
2015-10-02
Due date:
% Done:

100%

Milestone:
None
Product Version:
*
Story Points:
Sprint:

Description

We used MN.updateSystemMetadata to add those policy to the object tao13350.1:

urn:node:mnDemo5
urn:node:mnDemo8

We can see the policy was added to both MN and CN:
https://mn-demo-6.test.dataone.org/knb/d1/mn/v2/meta/tao.13350.1
https://cn-dev-ucsb-1.test.dataone.org/cn/v2/meta/tao.13350.1

But we got the NotFound on demo-5/8
https://mn-demo-8.test.dataone.org/knb/d1/mn/v1/meta/tao.13350.1
https://mn-demo-5.test.dataone.org/knb/d1/mn/v1/meta/tao.13350.1

Note: in the systemMetadata of cn, we can't see the replica part.


Subtasks

Task #7398: ensure that the replica section is added to systemMetadata on the cn during syncClosedRob Nahf

Associated revisions

Revision 16182
Added by Rob Nahf about 9 years ago

fixes #7314: systemMetadata updates were overwriting the replica sections of the CN systemMetadata. Refactored so that existing replica information from the CN is copied, and replica section of systemMetadata created if it's not there. Updated occurrences of TypeMarshaller.convert... to TypeFactory.convert (due to refactored d1_common_java)

Revision 16182
Added by Rob Nahf about 9 years ago

fixes #7314: systemMetadata updates were overwriting the replica sections of the CN systemMetadata. Refactored so that existing replica information from the CN is copied, and replica section of systemMetadata created if it's not there. Updated occurrences of TypeMarshaller.convert... to TypeFactory.convert (due to refactored d1_common_java)

Revision 16243
Added by Rob Nahf about 9 years ago

refs: #7314, #7324: Removed restriction on dateSystemMetadtataModified field that was preventing update of an object. Added logic for rejecting updates if the CN is authoritative for the systemMetadata (v1 read-write nodes). Added missing business-rule validation on systemMetadata.

Revision 16243
Added by Rob Nahf about 9 years ago

refs: #7314, #7324: Removed restriction on dateSystemMetadtataModified field that was preventing update of an object. Added logic for rejecting updates if the CN is authoritative for the systemMetadata (v1 read-write nodes). Added missing business-rule validation on systemMetadata.

History

#1 Updated by Rob Nahf about 9 years ago

  • Category set to d1_synchronization

#2 Updated by Rob Nahf about 9 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30
  • Assignee set to Rob Nahf

the V2TransferObjectTask.processUpdates code neglected to preserve the existing replica information the CN held. Fixed it so it does, and restores replicas if the CN doesn't have a replica section in it's copy of the systemMetadata.

Need to redeploy d1_synchronization to DEV, then try updating the object's systemMetadata again from the authoritativeMN. It should kick off replication for that object.

#3 Updated by Rob Nahf about 9 years ago

  • Tracker changed from Task to Bug

#4 Updated by Rob Nahf about 9 years ago

  • Status changed from In Progress to Testing
  • % Done changed from 30 to 50

#5 Updated by Rob Nahf about 9 years ago

  • Status changed from Testing to Closed
  • % Done changed from 50 to 100

Applied in changeset d1-python:d1_python|r16182.

#6 Updated by Jing Tao about 9 years ago

  • % Done changed from 100 to 30
  • Status changed from Closed to In Progress

Hi Rob, I deployed the cns on cn-dev-1 yesterday. However, the replica sections on the system metadata still doesn't show up:
https://cn-dev-ucsb-1.test.dataone.org/cn/v2/meta/tao.13350.1

And mn-demo-5/8 don't have the replica:
https://mn-demo-8.test.dataone.org/knb/d1/mn/v2/meta/tao.13350.1
https://mn-demo-8.test.dataone.org/knb/d1/mn/v2/meta/tao.13350.1

#7 Updated by Jing Tao about 9 years ago

Weird, I just inserted a new object and I can see the replica part:
https://cn-dev-unm-1.test.dataone.org/cn/v2/meta/tao.13359.1

However, for an object which was inserted a week ago, I still can see the replica part:
https://cn-dev-unm-1.test.dataone.org/cn/v2/meta/tao.13350.1

#8 Updated by Jing Tao about 9 years ago

After more than one hour when I updated the system metadata by adding the replication policy, the replication policy still has been fulfilled.

#9 Updated by Jing Tao about 9 years ago

For the object which I uploaded couple weeks ago, the replication policy hasn't been fulfilled:
https://cn-dev-ucsb-1.test.dataone.org/cn/v2/meta/tao.13350.1

For a object which I uploaded this morning, the sync hasn't happened:

https://mn-demo-6.test.dataone.org/knb/d1/mn/v2/meta/tao.13361.1
https://cn-dev-ucsb-1.test.dataone.org/cn/v1/meta/tao.13361.1

#11 Updated by Rob Nahf about 9 years ago

  • Status changed from In Progress to Testing
  • % Done changed from 30 to 50

#12 Updated by Rob Nahf almost 9 years ago

  • % Done changed from 50 to 100
  • Status changed from Testing to Closed

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)