Project

General

Profile

Task #1183

Story #1388: implement MN-MN replication manager in CN stack

Implement mechanism in CN that will execute a replication operation on a MN

Added by Dave Vieglais about 13 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
d1_replication
Target version:
Start date:
2011-01-03
Due date:
% Done:

100%

Milestone:
CCI-0.7.0
Product Version:
*
Story Points:
Sprint:

Description

Described in UC09 ( http://mule1.dataone.org/ArchitectureDocs-current/design/UseCases/09_uc.html ), this task is to implement a mechanism on the CN that given a PID, a source MN PID and a target MN PID, will invoke replicate() on the target MN and update the replica status in the system metadata for the object.

History

#1 Updated by Rob Nahf about 13 years ago

code for issuing a replicate command (assembling the mime-multipart, doing the POST, etc. is in the DataReplicateTest.java class in d1_integration. It should probably move to d1_libclient_java, but hasn't been done yet. It does not do all of the tasks needed for this story, but is a start.

#2 Updated by Robert Waltz about 13 years ago

  • Category set to d1_replication
  • Assignee set to Rob Nahf
  • Milestone set to CCI-0.5

#3 Updated by Robert Waltz about 13 years ago

  • Assignee changed from Rob Nahf to Robert Waltz

#4 Updated by Robert Waltz about 13 years ago

  • Parent task changed from #1132 to #1388

#5 Updated by Robert Waltz about 13 years ago

  • Milestone deleted (CCI-0.5)

#6 Updated by Robert Waltz over 12 years ago

  • Assignee changed from Robert Waltz to Chris Jones
  • Milestone set to CCI-0.7.0

#7 Updated by Chris Jones over 12 years ago

  • Status changed from New to In Progress

Created the d1_replication project within the cn project that provides a ReplicationService class. This class will coordinate replication by adding tasks to a distributed replication queue and processing those tasks, calling replicate() on the target MN. The class is stubbed out, functionality pending.

#8 Updated by Chris Jones over 12 years ago

  • Status changed from In Progress to Closed

The ReplicationService class creates ReplicationTask objects and queues them into a Hazelcast queue. It then handles the items in the queue, sending them to a cluster-wide ExecutorService. The executor service calls the ReplicationTask.call() method, which intiates replication on the MN.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)