Index: src/edu/ucsb/nceas/metacat/replication/ForceReplicationSystemMetadataHandler.java
===================================================================
--- src/edu/ucsb/nceas/metacat/replication/ForceReplicationSystemMetadataHandler.java	(revision 6813)
+++ src/edu/ucsb/nceas/metacat/replication/ForceReplicationSystemMetadataHandler.java	(nonexistent)
@@ -1,135 +0,0 @@
-/**
- *  '$RCSfile$'
- *    Purpose: A class to asyncronously force the replication of each server
- *             that has an entry in the xml_replication table.  When run,
- *             this thread communicates with each server in the list and
- *             solicites a read of an updated or newly inserted document
- *             with a certain docid.
- *  Copyright: 2000 Regents of the University of California and the
- *             National Center for Ecological Analysis and Synthesis
- *    Authors: Chad Berkley
- *
- *   '$Author: daigle $'
- *     '$Date: 2009-08-24 13:34:17 -0800 (Mon, 24 Aug 2009) $'
- * '$Revision: 5030 $'
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-package edu.ucsb.nceas.metacat.replication;
-
-import java.net.URL;
-
-import org.apache.log4j.Logger;
-
-import edu.ucsb.nceas.metacat.properties.PropertyService;
-import edu.ucsb.nceas.metacat.util.MetacatUtil;
-import edu.ucsb.nceas.utilities.PropertyNotFoundException;
-
-/**
- * A class to asyncronously force the replication of each server
- * that has an entry in the xml_replication table.  When run,
- * this thread communicates with each server in the list and
- * forces replication of system metadata
- */
-public class ForceReplicationSystemMetadataHandler implements Runnable
-{
-  private Thread btThread;
-  private String guid;
-    
-  private ReplicationServerList serverLists = null;
-
-  private String notificationServer = null;
-  private static Logger logReplication = Logger.getLogger("ReplicationLogging");
-  private static Logger logMetacat = Logger.getLogger(ForceReplicationSystemMetadataHandler.class);
- 
-  /**
-   * Use this constructor when the action is implied.
-   */
-  public ForceReplicationSystemMetadataHandler(String guid, String myNotificationServer )
-  {
-    this.guid = guid;
-    // Build a severLists from xml_replication table
-    this.serverLists = new ReplicationServerList();
-   
-    // Get notification server
-    this.notificationServer = myNotificationServer;
-    btThread = new Thread(this);
-    btThread.setPriority(Thread.MIN_PRIORITY);
-    btThread.start();
-  }
-
-  /**
-   * Method to send force replication command to other server to get
-   * a new or updated docid
-   */
-  public void run()
-  {
-
-    
-	    // URL for notification
-	    URL comeAndGetIt = null;
-		// If no server in xml_replication table we are done
-		if (serverLists.isEmpty()) {
-			return;
-		}
-
-		// Thread sleeping for some seconds to make sure the document was insert
-		// into the database before we send force replication request
-		int sleepTime;
-		try {
-			sleepTime = Integer.parseInt(PropertyService.getProperty("replication.forcereplicationwaitingtime"));
-			Thread.sleep(sleepTime);
-		} catch (PropertyNotFoundException pnfe) {
-	    	logMetacat.error(ReplicationService.METACAT_REPL_ERROR_MSG);
-			logReplication.error("Property error: " + pnfe.getMessage());
-		} catch (InterruptedException ie) {
-	    	logMetacat.error(ReplicationService.METACAT_REPL_ERROR_MSG);
-			logReplication.error("Thread sleep error: " + ie.getMessage());
-		}
-		logReplication.info("Notification server:" + notificationServer);
-		// Check every server in the serverlists
-		for (int i = 0; i < serverLists.size(); i++) {
-			//Set comeAndGetIt null
-			comeAndGetIt = null;
-			// Get ReplicationServer object in index i
-			ReplicationServer replicationServer = serverLists.serverAt(i);
-			// Get this ReplicationServer 's name
-			String server = replicationServer.getServerName();
-			try {
-
-				// If the server is the notification server, we don't notify it back
-				// again, if server is null we don't replicate to
-				if (server != null && !server.equals(notificationServer)) {
-					if (replicationServer.isSystemMetadataReplication()) {
-						comeAndGetIt = new URL("https://" + server
-								+ "?action=forcereplicatesystemmetadata"
-								+ "&guid=" + guid + "&server="
-								+ MetacatUtil.getLocalReplicationServerName());
-
-						logReplication.warn("Sending message: " + comeAndGetIt.toString());
-						String message = ReplicationService.getURLContent(comeAndGetIt);
-					}
-				}
-			} catch (Exception e) {
-		    	logMetacat.error(ReplicationService.METACAT_REPL_ERROR_MSG, e);
-				logReplication.error("Error forcing System Metadata replication");
-			}
-			
-		}
-
-		logReplication.warn("Exiting Forced System Metadata Thread");
-	}
-}
\ No newline at end of file
Index: src/upgrade-db-to-2.0.0-oracle.sql
===================================================================
--- src/upgrade-db-to-2.0.0-oracle.sql	(revision 6813)
+++ src/upgrade-db-to-2.0.0-oracle.sql	(revision 6814)
@@ -45,11 +45,6 @@
    rev    NUMBER(8)       -- the revision part of the local identifier
 );
 
-/*
- * Replication changes to support DataONE System Metadata replication
- */
-ALTER TABLE xml_replication ADD COLUMN systemmetadatareplicate NUMBER(1);
-
 /**
  * track the user-agent for the request
  */
Index: src/xmltables-oracle.sql
===================================================================
--- src/xmltables-oracle.sql	(revision 6813)
+++ src/xmltables-oracle.sql	(revision 6814)
@@ -80,7 +80,6 @@
   last_checked  DATE,
   replicate     NUMBER(1),
   datareplicate NUMBER(1),
-  systemmetadatareplicate NUMBER(1),
   hub NUMBER(1),
   CONSTRAINT xml_replication_pk PRIMARY KEY (serverid)
 );
@@ -95,8 +94,8 @@
 END;
 /
 
-INSERT INTO xml_replication (server, replicate, datareplicate, systemmetadatareplicate, hub)
- VALUES ('localhost', '0', '0', '0', '0');
+INSERT INTO xml_replication (server, replicate, datareplicate, hub)
+ VALUES ('localhost', '0', '0', '0');
 
 /*
  * Nodes -- table to store XML Nodes (both elements and attributes)
Index: src/upgrade-db-to-2.0.0-postgres.sql
===================================================================
--- src/upgrade-db-to-2.0.0-postgres.sql	(revision 6813)
+++ src/upgrade-db-to-2.0.0-postgres.sql	(revision 6814)
@@ -58,11 +58,6 @@
 ALTER TABLE xml_path_index ADD COLUMN nodedatadate TIMESTAMP;
 CREATE INDEX xml_path_index_idx5 ON xml_path_index (nodedatadate);
 
-/*
- * Replication changes to support DataONE System Metadata replication
- */
-ALTER TABLE xml_replication ADD COLUMN systemmetadatareplicate INT8;
-
 /**
  * track the user-agent for the request
  */
Index: src/xmltables-postgres.sql
===================================================================
--- src/xmltables-postgres.sql	(revision 6813)
+++ src/xmltables-postgres.sql	(revision 6814)
@@ -39,16 +39,13 @@
   last_checked DATE,
   replicate INT8,
   datareplicate INT8,
-  systemmetadatareplicate INT8,
   hub INT8,
   CONSTRAINT xml_replication_pk PRIMARY KEY (serverid)
 );
 
-INSERT INTO xml_replication (server, replicate, datareplicate, systemmetadatareplicate, hub) VALUES ('localhost', '0', '0', '0', '0');
-/*
- * ALTER TABLE xml_replication ADD COLUMN systemmetadatareplicate INT8;
- */
+INSERT INTO xml_replication (server, replicate, datareplicate, hub) VALUES ('localhost', '0', '0', '0');
 
+
 /*
  * Nodes -- table to store XML Nodes (both elements and attributes)
  */
Index: src/edu/ucsb/nceas/metacat/replication/ReplicationServer.java
===================================================================
--- src/edu/ucsb/nceas/metacat/replication/ReplicationServer.java	(revision 6813)
+++ src/edu/ucsb/nceas/metacat/replication/ReplicationServer.java	(revision 6814)
@@ -42,7 +42,6 @@
                                            //it is relative to replcation
                                            //if replication is false, it should
                                            //be false
-  private boolean systemMetadataReplication = false; //replicate system metadata or not
   private boolean hub = false; //it is hub or not. Hub means the localhost can
                                //replcate documents to the server if the 
                                //document's home server is not localhost
@@ -126,14 +125,7 @@
     this.dataReplication = myDataReplication;
   }//setDataReplication   
    
-  public boolean isSystemMetadataReplication() {
-	return systemMetadataReplication;
-}
 
-public void setSystemMetadataReplication(boolean systemMetadataReplication) {
-	this.systemMetadataReplication = systemMetadataReplication;
-}
-
 /**
    * Get hub option
    */
Index: src/edu/ucsb/nceas/metacat/replication/ReplicationService.java
===================================================================
--- src/edu/ucsb/nceas/metacat/replication/ReplicationService.java	(revision 6813)
+++ src/edu/ucsb/nceas/metacat/replication/ReplicationService.java	(revision 6814)
@@ -299,7 +299,6 @@
 		String replicate = null;
 		String server = null;
 		String dataReplicate = null;
-		String systemMetadataReplicate = null;
 		String hub = null;
 		Writer out = null;
 		try {
@@ -318,8 +317,7 @@
 
 				//Get data replication value
 				dataReplicate = ((String[]) params.get("datareplicate"))[0];
-				//Get system metadata replication value
-				systemMetadataReplicate = ((String[]) params.get("systemmetadatareplicate"))[0];
+				
 				//Get hub value
 				hub = ((String[]) params.get("hub"))[0];
 
@@ -326,8 +324,8 @@
 				Calendar cal = Calendar.getInstance();
                 cal.set(1980, 1, 1);
 				String sql = "INSERT INTO xml_replication "
-						+ "(server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub) "
-						+ "VALUES (?,?,?,?,?,?)";
+						+ "(server, last_checked, replicate, datareplicate, hub) "
+						+ "VALUES (?,?,?,?,?)";
 				
 				pstmt = dbConn.prepareStatement(sql);
 						
@@ -335,8 +333,7 @@
 				pstmt.setTimestamp(2, new Timestamp(cal.getTimeInMillis()));
 				pstmt.setInt(3, Integer.parseInt(replicate));
 				pstmt.setInt(4, Integer.parseInt(dataReplicate));
-				pstmt.setInt(5, Integer.parseInt(systemMetadataReplicate));
-				pstmt.setInt(6, Integer.parseInt(hub));
+				pstmt.setInt(5, Integer.parseInt(hub));
 				
 				String sqlReport = "XMLAccessAccess.getXMLAccessForDoc - SQL: " + sql;
 				sqlReport += " [" + server + "," + replicate + 
@@ -354,9 +351,8 @@
 				out.write("<td><b>last_checked</b></td>");
 				out.write("<td><b>replicate</b></td>");
 				out.write("<td><b>datareplicate</b></td>");
-				out.write("<td><b>systemmetadatareplicate</b></td>");
 				out.write("<td><b>hub</b></td></tr>");
-				pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub FROM xml_replication");
+				pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, hub FROM xml_replication");
 				//increase dbconnection usage
 				dbConn.increaseUsageCount(1);
 
@@ -368,8 +364,7 @@
 					out.write(rs.getString(3) + "</td><td>");
 					out.write(rs.getString(4) + "</td><td>");
 					out.write(rs.getString(5) + "</td><td>");
-					out.write(rs.getString(6) + "</td><td>");
-					out.write(rs.getString(7) + "</td></tr>");
+					out.write(rs.getString(6) + "</td></tr>");
 
 					tablehasrows = rs.next();
 				}
@@ -391,10 +386,9 @@
 				out.write("<td><b>last_checked</b></td>");
 				out.write("<td><b>replicate</b></td>");
 				out.write("<td><b>datareplicate</b></td>");
-				out.write("<td><b>systemmetadatareplicate</b></td>");
 				out.write("<td><b>hub</b></td></tr>");
 
-				pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub FROM xml_replication");
+				pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, hub FROM xml_replication");
 				//increase dbconnection usage
 				dbConn.increaseUsageCount(1);
 				pstmt.execute();
@@ -405,8 +399,7 @@
 					out.write(rs.getString(3) + "</td><td>");
 					out.write(rs.getString(4) + "</td><td>");
 					out.write(rs.getString(5) + "</td><td>");
-					out.write(rs.getString(6) + "</td><td>");
-					out.write(rs.getString(7) + "</td></tr>");
+					out.write(rs.getString(6) + "</td></tr>");
 					tablehasrows = rs.next();
 				}
 				out.write("</table></body></html>");
@@ -419,9 +412,8 @@
 				out.write("<td><b>last_checked</b></td>");
 				out.write("<td><b>replicate</b></td>");
 				out.write("<td><b>datareplicate</b></td>");
-				out.write("<td><b>systemmetadatareplicate</b></td>");
 				out.write("<td><b>hub</b></td></tr>");
-				pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, systemmetadatareplicate, hub FROM xml_replication");
+				pstmt = dbConn.prepareStatement("SELECT serverid, server, last_checked, replicate, datareplicate, hub FROM xml_replication");
 				pstmt.execute();
 				ResultSet rs = pstmt.getResultSet();
 				boolean tablehasrows = rs.next();
@@ -430,8 +422,7 @@
 					out.write(rs.getString(3) + "</td><td>");
 					out.write(rs.getString(4) + "</td><td>");
 					out.write(rs.getString(5) + "</td><td>");
-					out.write(rs.getString(6) + "</td><td>");
-					out.write(rs.getString(7) + "</td></tr>");
+					out.write(rs.getString(6) + "</td></tr>");
 
 					tablehasrows = rs.next();
 				}
@@ -1509,23 +1500,6 @@
 			// add revision doc list  
 			doclist.append(prepareRevisionDoc(dbConn, revisionSql.toString(),
 					replicateData));
-			
-			// add the system metadata entries if configured to replicate them
-			boolean replicateSystemMetadata = serverList.getSystemMetadataReplicationValue(server);
-			if (replicateSystemMetadata) {
-				Date since = new Date(System.currentTimeMillis());
-				since = serverList.getLastCheckedDate(server);
-				List<String> systemMetadataEntries = 
-					IdentifierManager.getInstance().getUpdatedSystemMetadataIds(since);
-				for (int i = 0; i < systemMetadataEntries.size(); i++) {
-					String guid = systemMetadataEntries.get(i);
-					doclist.append("<updatedSystemMetadata>");
-					doclist.append("<guid>");
-					doclist.append(guid);
-					doclist.append("</guid>");
-					doclist.append("</updatedSystemMetadata>");
-				}
-			}
 
 			doclist.append("</updates></replication>");
 			logReplication.info("ReplicationService.handleUpdateRequest - doclist: " + doclist.toString());
Index: src/edu/ucsb/nceas/metacat/replication/ReplicationServerList.java
===================================================================
--- src/edu/ucsb/nceas/metacat/replication/ReplicationServerList.java	(revision 6813)
+++ src/edu/ucsb/nceas/metacat/replication/ReplicationServerList.java	(revision 6814)
@@ -88,7 +88,7 @@
       serialNumber=dbConn.getCheckOutSerialNumber();
       //Select fields from xml_replication table
       pstmt = dbConn.prepareStatement("select server, last_checked, replicate,"+
-                    " datareplicate, systemmetadatareplicate, hub from xml_replication");
+                    " datareplicate, hub from xml_replication");
       //Execute prepare statement
       pstmt.execute();
       //Get result set
@@ -109,11 +109,8 @@
         //Data replication value
         int dataReplication = rs.getInt(4);
         logMetacat.info("DataReplication value: "+dataReplication);
-        //Data replication value
-        int systemMetadataReplication = rs.getInt(5);
-        logMetacat.info("DataReplication value: "+dataReplication);
         //Hub value
-        int hubValue = rs.getInt(6);
+        int hubValue = rs.getInt(5);
         logMetacat.info("Hub value: "+hubValue);
         //Get rid of local host
         if(!serverName.equals("localhost"))
@@ -155,10 +152,6 @@
           }//else
           //Set data replciation value
           server.setDataReplication(hasDataReplication);
-          if (systemMetadataReplication == 1) {
-        	  hasSystemMetadataReplication = true;
-          }
-          server.setSystemMetadataReplication(hasSystemMetadataReplication);
           
           //Detemine isHub by hubValue
           if (hubValue ==1)
@@ -392,29 +385,6 @@
     return server.getDataReplication();
   }//getDataReplicationValue
   
-  /**
-   * To a given server name, try to get its data file replciation option
-   * If couldn't find the server in the server list, false will return
-   * @param givenServerName, the server's name which we want to get data file 
-   * replication value
-   */
-  public synchronized boolean getSystemMetadataReplicationValue(String givenServerName)
-  {
-    int index = -1;//Variable to store the index
-    ReplicationServer server = null;//Variable for replication server
-    
-    //Get the server's index in server list
-    index = findIndexInServerList(givenServerName);
-    //If index = -1, couldn't find this server, null will return
-    if (index == -1)
-    {
-      return false;
-    }//if
-    //Get Replication server object
-    server = (ReplicationServer) serverList.elementAt(index);
-    //Return this object's data replication value
-    return server.isSystemMetadataReplication();
-  }
 
   /**
    * To a given server name, try to get its hub option
