Project

General

Profile

Story #1966

CNs should keep all replica MNs up to date with SystemMetadata changes

Added by Chris Jones over 12 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Robert Waltz
Category:
d1_synchronization
Target version:
Start date:
2011-11-01
Due date:
2011-11-19
% Done:

100%

Story Points:
Sprint:

Description

SystemMetadata changes frequently by both d1_synchronization and d1_replication once an object's metadata documents are synchronized. Since MNs can only set access policies through the CN, the CN needs to synchronize the system metadata back to each MN replica node so they can 1) have the latest version (serialVersion) and 2) enforce the correct access policies.

Update ACL only via CN, only possible if Auth MN is Tier2+):

0. User edits ACL on an object using ITK tool;
1. Update ACL on CN-1;
a. lock PID
b. check serial number on sysmeta - change request serial # must match sys meta serial
c. put systemMetadata on CN-1 via hazelcast
e. changes propogated to other CNs via hazelcast
d. unlock PID
2. CN-1 pushes ACL to all object copies;
3. CN-1 verifies ACL change;

If a Tier 1 MN is authoritative, then there is no support for changing ACLs.

If a Tier 1 MN attempts to create an object that has an ACL other than public read, that synchronize to the CN should fail. This is similar to the problem that the synchronize should fail if the identifier for the object is not unique.


Subtasks

Task #1969: Add MNStorage.updateSystemMetadata() method to documentationClosedDave Vieglais

Task #1970: Remove MNAuthorization.setAccessPolicy() from documentationClosedDave Vieglais

Task #1971: Remove MNAuthorization.setAccessPolicy() from MetacatClosedChris Jones

Task #1972: Remove MNAuthorization.setAccessPolicy() from GMNClosedRoger Dahl

Task #1973: Remove MNAuthorization.setAccessPolicy() from DryadRejectedRyan Scherle

Task #1974: Call MNStorage.updateSystemMetadata() on previous replicas when new replicas synchronizeRejectedRobert Waltz

Task #1975: Add MNStorage.updateSystemMetadata() to MetacatRejectedChris Jones

Task #1976: Add MNStorage.updateSystemMetadata() to GMNClosedRoger Dahl

Task #1977: Add MNStorage.updateSystemMetadata() method to MNStorage InterfaceRejectedRobert Waltz


Related issues

Related to Infrastructure - Story #1827: Design AccessPolicy update restrictions Closed 2011-10-07
Related to Infrastructure - Story #1952: SerialVersion in SystemMetadata needs to be incremented with each Update Closed 2011-11-01

History

#1 Updated by Dave Vieglais over 12 years ago

  • Target version changed from Sprint-2011.44-Block.6 to Sprint-2011.45-Block.6
  • Position set to 2

#2 Updated by Dave Vieglais over 12 years ago

  • Target version changed from Sprint-2011.45-Block.6 to Sprint-2011.46-Block.6
  • Position deleted (5)
  • Position set to 1

#3 Updated by Robert Waltz over 12 years ago

  • Status changed from New to Closed

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)