Project

General

Profile

Task #7380

Feature #6498: V2 Metacat MN and CN Support

Check the v1/v2 api methods, which alter the system metadata, how to handle the set of the modification date and the serial version

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

Status:
Closed
Priority:
Normal
Assignee:
Category:
Metacat
Target version:
Start date:
2015-09-23
Due date:
% Done:

100%

Estimated time:
0.00 h
Milestone:
None
Product Version:
*
Story Points:
Sprint:

Description

In the V2 api, the member node has the authority control the system metadata. So the methods of the CN should change the modification date of the system metadata. Even in the CN.setReplicationStatus and CN.setReplicationMetadata, they only increase serial version number but don't change the modification date of the system metadata.

Those methods should be look are:
CN.create
CN.updateSystemMetadata
CN.setReplicationStatus
CN.setReplicationMetadata
CN.setReplicationPolicy
CN.setAccessPolicy
CN.setObsoletedBy
CN.setArchive
CN.setRightsHolder
CN.registerSystemMetadata


Subtasks

Task #7381: reject to use the v1.cn api calling an object which has a v2 authoritative memberClosedJing Tao

Task #7382: Add the code to set the modification date of the system metadata for v1.apiClosedJing Tao

Task #7395: Reject those methods on v2 API when clients apply them on an object whose authoritative node is a v2 mnClosedJing Tao

History

#1 Updated by Jing Tao about 9 years ago

  • Subject changed from Remove the set of the modification date of the system in CNodeService (or D1NodeService) class. to Remove the set of the modification date of the system in v2.CNodeService (or v2.D1NodeService) class.

#2 Updated by Jing Tao about 9 years ago

Talked with Chris:
1:
cn.setReplicationPolicy
cn.setAccessPolicy
cn.archive
cn.setRightHolder
The v1/v2 api only be called on the objects whose authoritative node is v1.
They are the only ways to change the system metadata for those objects whose authoritative node is v1.
In those v1/v2 methods, the modification date and serial version should be changed.

2:
cn.registerSystemMetadata
The v1 api only be called on the objects whose authoritative node is v1. So the modification date should be set and serial version should be increased (se to be one).
The v2 api can be called on objects whose authoritative node is v1 or v2. So for objects whose authoritative member node is v1, the method should reset modification date and shouldn’t increase serial version(d1-sync does change); for the objects whose authoritative member node is v2, the method shouldn’t change modification date and serial version(d1 sync does change).

3:
cn.setReplicationStatus
cn.setReplicationMetadata
cn.deleteReplicationMetadata
The v1/v2 api can be called on the objects whose authoritative node is v1 or v2.
No matter which scenarios, the serial version should be increased.
No matter which scenarios, the modification date shouldn't be changed.

4.
cn.create
It should initialize serial version to one (v1.api and v2 api)
It should set modification date for the objects whose authoritative member nodes is v1; it shouldn’t set modification date for the objects whose authoritative member nodes is v2

#3 Updated by Jing Tao about 9 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

Catalog 1 missed the method setObsoletedBy.

#4 Updated by Jing Tao about 9 years ago

  • Subject changed from Remove the set of the modification date of the system in v2.CNodeService (or v2.D1NodeService) class. to Check the v1/v2 api methods, which alter the system metadata, how to handle the set of the modification date and the serial version

#5 Updated by Jing Tao about 9 years ago

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

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)