Index: src/edu/ucsb/nceas/metacat/dataone/CNodeService.java
===================================================================
--- src/edu/ucsb/nceas/metacat/dataone/CNodeService.java	(revision 6857)
+++ src/edu/ucsb/nceas/metacat/dataone/CNodeService.java	(revision 6858)
@@ -141,46 +141,52 @@
       
       SystemMetadata systemMetadata = null;
       try {
-          if ( HazelcastService.getInstance().getSystemMetadataMap().containsKey(pid) ) {
-              lock = HazelcastService.getInstance().getLock(pid.getValue());
-              lock.lock();
-              systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
+          lock = HazelcastService.getInstance().getLock(pid.getValue());
+          lock.lock();
+
+          try {
+              if ( HazelcastService.getInstance().getSystemMetadataMap().containsKey(pid) ) {
+                  systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
+                  
+              }
+            
+
+              // does the request have the most current system metadata?
+              if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
+                 String msg = "The requested system metadata version number " + 
+                     serialVersion + " differs from the current version at " +
+                     systemMetadata.getSerialVersion().longValue() +
+                     ". Please get the latest copy in order to modify it.";
+                 throw new InvalidRequest("4883", msg);
+              }
               
+          } catch (Exception e) { // Catch is generic since HZ throws RuntimeException
+              throw new NotFound("4884", "No record found for: " + pid.getValue());
+            
           }
-        
-
-          // does the request have the most current system metadata?
-          if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
-             String msg = "The requested system metadata version number " + 
-                 serialVersion + " differs from the current version at " +
-                 systemMetadata.getSerialVersion().longValue() +
-                 ". Please get the latest copy in order to modify it.";
-             throw new InvalidRequest("4883", msg);
+          
+          // set the new policy
+          systemMetadata.setReplicationPolicy(policy);
+          
+          // update the metadata
+          try {
+              systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
+              systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
+              HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
+            
+          } catch (Exception e) {
+              throw new ServiceFailure("4882", e.getMessage());
+          
           }
           
-      } catch (Exception e) { // Catch is generic since HZ throws RuntimeException
-        throw new NotFound("4884", "No record found for: " + pid.getValue());
+    } catch (Exception e) {
+        throw new ServiceFailure("4882", e.getMessage());
         
-      }
-          
-      // set the new policy
-      systemMetadata.setReplicationPolicy(policy);
-      
-      // update the metadata
-      try {
-        systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
-        systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
-        HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
+    } finally {
+        lock.unlock();
+        logMetacat.debug("Unlocked identifier " + pid.getValue());
         
-      } catch (Exception e) {
-          throw new ServiceFailure("4882", e.getMessage());
-      
-      } finally {
-          lock.unlock();
-          logMetacat.debug("Unlocked identifier " + pid.getValue());
-
-          
-      }
+    }
     
       return true;
   }
@@ -220,122 +226,126 @@
           " is " + status.toString());
       
       SystemMetadata systemMetadata = null;
-      try {      
+
+      try {
           lock = HazelcastService.getInstance().getLock(pid.getValue());
           lock.lock();
-          systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
+          try {      
+              systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
 
-          if ( systemMetadata == null ) {
-              logMetacat.debug("systemMetadata is null for " + pid.getValue());
+              if ( systemMetadata == null ) {
+                  logMetacat.debug("systemMetadata is null for " + pid.getValue());
+                  
+              }
+              replicas = systemMetadata.getReplicaList();
+              int count = 0;
               
-          }
-          replicas = systemMetadata.getReplicaList();
-          int count = 0;
-          
-          if ( replicas == null || replicas.size() < 1 ) {
-              logMetacat.debug("no replicas to evaluate");
-              throw new InvalidRequest("4730", "There are no replicas to update.");
+              if ( replicas == null || replicas.size() < 1 ) {
+                  logMetacat.debug("no replicas to evaluate");
+                  throw new InvalidRequest("4730", "There are no replicas to update.");
+                  
+              }
+
+              // find the target replica index in the replica list
+              for (Replica replica: replicas) {
+                  String replicaNodeStr = replica.getReplicaMemberNode().getValue();
+                  String targetNodeStr = targetNode.getValue();
+                  logMetacat.debug("Comparing " + replicaNodeStr + " to " + targetNodeStr);
+                  
+                  if (replicaNodeStr.equals(targetNodeStr)) {
+                      replicaEntryIndex = count;
+                      logMetacat.debug("replica entry index is: " + replicaEntryIndex);
+                      break;
+                  }
+                  count++;
+                  
+              }
+
+              // are we allowed to do this? only CNs and target MNs are allowed
+              CNode cn = D1Client.getCN();
+              List<Node> nodes = cn.listNodes().getNodeList();
               
-          }
+              // find the node in the node list
+              for ( Node node : nodes ) {
+                  
+                  NodeReference nodeReference = node.getIdentifier();
+                  logMetacat.debug("In setReplicationStatus(), Node reference is: " + nodeReference.getValue());
+                  
+                  // allow target MN certs and CN certs
+                  if (targetNode.getValue().equals(nodeReference.getValue()) ||
+                      node.getType() == NodeType.CN) {
+                      List<Subject> nodeSubjects = node.getSubjectList();
+                      
+                      // check if the session subject is in the node subject list
+                      for (Subject nodeSubject : nodeSubjects) {
+                          if ( nodeSubject.equals(subject) ) {
+                              allowed = true; // subject of session == target node subject
+                              break;
+                              
+                          }
+                      }                 
+                  }
+              }
 
-          // find the target replica index in the replica list
-          for (Replica replica: replicas) {
-              String replicaNodeStr = replica.getReplicaMemberNode().getValue();
-              String targetNodeStr = targetNode.getValue();
-              logMetacat.debug("Comparing " + replicaNodeStr + " to " + targetNodeStr);
+              if ( !allowed ) {
+                  String msg = "The subject identified by " + subject.getValue() +
+                    " does not have permission to set the replication status for " +
+                    "the replica identified by " + targetNode.getValue() + ".";
+                  logMetacat.info(msg);
+                  throw new NotAuthorized("4720", msg);
+                  
+              }
               
-              if (replicaNodeStr.equals(targetNodeStr)) {
-                  replicaEntryIndex = count;
-                  logMetacat.debug("replica entry index is: " + replicaEntryIndex);
-                  break;
+              // was there a failure? log it
+              if ( failure != null && status == ReplicationStatus.FAILED ) {
+                 String msg = "The replication request of the object identified by " + 
+                     pid.getValue() + " failed.  The error message was " +
+                     failure.getMessage() + ".";
               }
-              count++;
               
+          } catch (RuntimeException e) { // Catch is generic since HZ throws RuntimeException
+            throw new NotFound("4740", "No record found for: " + pid.getValue() +
+                " : " + e.getMessage());
+            
           }
-
-          // are we allowed to do this? only CNs and target MNs are allowed
-          CNode cn = D1Client.getCN();
-          List<Node> nodes = cn.listNodes().getNodeList();
           
-          // find the node in the node list
-          for ( Node node : nodes ) {
+          // set the status for the replica
+          if ( replicaEntryIndex != -1 ) {
+              Replica targetReplica = replicas.get(replicaEntryIndex);
+              targetReplica.setReplicationStatus(status);
+              logMetacat.debug("Set the replication status for " + 
+                  targetReplica.getReplicaMemberNode().getValue() + " to " +
+                  targetReplica.getReplicationStatus());
               
-              NodeReference nodeReference = node.getIdentifier();
-              logMetacat.debug("In setReplicationStatus(), Node reference is: " + nodeReference.getValue());
-              
-              // allow target MN certs and CN certs
-              if (targetNode.getValue().equals(nodeReference.getValue()) ||
-                  node.getType() == NodeType.CN) {
-                  List<Subject> nodeSubjects = node.getSubjectList();
-                  
-                  // check if the session subject is in the node subject list
-                  for (Subject nodeSubject : nodeSubjects) {
-                      if ( nodeSubject.equals(subject) ) {
-                          allowed = true; // subject of session == target node subject
-                          break;
-                          
-                      }
-                  }                 
-              }
-          }
+          } else {
+              throw new InvalidRequest("4730", "There are no replicas to update.");
 
-          if ( !allowed ) {
-              String msg = "The subject identified by " + subject.getValue() +
-                " does not have permission to set the replication status for " +
-                "the replica identified by " + targetNode.getValue() + ".";
-              logMetacat.info(msg);
-              throw new NotAuthorized("4720", msg);
-              
           }
           
-          // was there a failure? log it
-          if ( failure != null && status == ReplicationStatus.FAILED ) {
-             String msg = "The replication request of the object identified by " + 
-                 pid.getValue() + " failed.  The error message was " +
-                 failure.getMessage() + ".";
+          systemMetadata.setReplicaList(replicas);
+                
+          // update the metadata
+          try {
+              systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
+              systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
+              HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
+              
+              if ( status == ReplicationStatus.FAILED && failure != null ) {
+                  logMetacat.warn("Replication failed for identifier " + pid.getValue() +
+                      " on target node " + targetNode + ". The exception was: " +
+                      failure.getMessage());
+              }
+          } catch (Exception e) {
+              throw new ServiceFailure("4700", e.getMessage());
+          
           }
           
-      } catch (RuntimeException e) { // Catch is generic since HZ throws RuntimeException
-        throw new NotFound("4740", "No record found for: " + pid.getValue() +
-            " : " + e.getMessage());
+    } catch (Exception e) {
+        lock.unlock();
+        logMetacat.debug("Unlocked identifier " + pid.getValue());
         
-      }
-          
-      // set the status for the replica
-      if ( replicaEntryIndex != -1 ) {
-          Replica targetReplica = replicas.get(replicaEntryIndex);
-          targetReplica.setReplicationStatus(status);
-          logMetacat.debug("Set the replication status for " + 
-              targetReplica.getReplicaMemberNode().getValue() + " to " +
-              targetReplica.getReplicationStatus());
-          
-      } else {
-          throw new InvalidRequest("4730", "There are no replicas to update.");
-
-      }
+    }
       
-      systemMetadata.setReplicaList(replicas);
-            
-      // update the metadata
-      try {
-          systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
-          systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
-          HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
-          
-          if ( status == ReplicationStatus.FAILED && failure != null ) {
-              logMetacat.warn("Replication failed for identifier " + pid.getValue() +
-                  " on target node " + targetNode + ". The exception was: " +
-                  failure.getMessage());
-          }
-      } catch (Exception e) {
-          throw new ServiceFailure("4700", e.getMessage());
-      
-      } finally {
-          lock.unlock();
-          logMetacat.debug("Unlocked identifier " + pid.getValue());
-         
-      }
-      
       return true;
   }
 
@@ -452,8 +462,6 @@
     Checksum checksum = null;
     
     try {
-        lock = HazelcastService.getInstance().getLock(pid.getValue());
-        lock.lock();
         systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
         checksum = systemMetadata.getChecksum();
 
@@ -461,10 +469,6 @@
         throw new ServiceFailure("1410", "An error occurred getting the checksum for " + 
             pid.getValue() + ". The error message was: " + e.getMessage());
       
-    } finally {
-        lock.unlock();
-        logMetacat.debug("Unlocked identifier " + pid.getValue());
-        
     }
     
     return checksum;
@@ -819,41 +823,48 @@
       SystemMetadata systemMetadata = null;
       try {
           lock = HazelcastService.getInstance().getLock(pid.getValue());
-          systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
           
-          // does the request have the most current system metadata?
-          if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
-             String msg = "The requested system metadata version number " + 
-                 serialVersion + " differs from the current version at " +
-                 systemMetadata.getSerialVersion().longValue() +
-                 ". Please get the latest copy in order to modify it.";
-             throw new InvalidRequest("4442", msg);
+          try {
+              systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
+              
+              // does the request have the most current system metadata?
+              if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
+                 String msg = "The requested system metadata version number " + 
+                     serialVersion + " differs from the current version at " +
+                     systemMetadata.getSerialVersion().longValue() +
+                     ". Please get the latest copy in order to modify it.";
+                 throw new InvalidRequest("4442", msg);
+              }
+              
+          } catch (Exception e) { // Catch is generic since HZ throws RuntimeException
+              throw new NotFound("4460", "No record found for: " + pid.getValue());
+              
           }
+              
+          // set the new rights holder
+          systemMetadata.setRightsHolder(userId);
           
-      } catch (Exception e) { // Catch is generic since HZ throws RuntimeException
-          throw new NotFound("4460", "No record found for: " + pid.getValue());
+          // update the metadata
+          try {
+              systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
+              systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
+              HazelcastService.getInstance().getSystemMetadataMap().put(pid, systemMetadata);
+              
+          } catch (Exception e) {
+          throw new ServiceFailure("4490", e.getMessage());
           
-      }
+          }
           
-      // set the new rights holder
-      systemMetadata.setRightsHolder(userId);
-      
-      // update the metadata
-      try {
-          systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
-          systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
-          HazelcastService.getInstance().getSystemMetadataMap().put(pid, systemMetadata);
+      } catch (Exception e) {
+          throw new ServiceFailure("4490", e.getMessage());
           
-      } catch (Exception e) {
-      throw new ServiceFailure("4490", e.getMessage());
-      
       } finally {
           lock.unlock();
           logMetacat.debug("Unlocked identifier " + pid.getValue());
-
+      
       }
       
-      return pid;
+    return pid;
   }
 
   /**
@@ -1102,41 +1113,49 @@
       try {
           lock = HazelcastService.getInstance().getLock(pid.getValue());
           lock.lock();
-          systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
+          
+          try {
+              systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
 
-          // does the request have the most current system metadata?
-          if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
-             String msg = "The requested system metadata version number " + 
-                 serialVersion + " differs from the current version at " +
-                 systemMetadata.getSerialVersion().longValue() +
-                 ". Please get the latest copy in order to modify it.";
-             throw new InvalidRequest("4402", msg);
+              // does the request have the most current system metadata?
+              if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
+                 String msg = "The requested system metadata version number " + 
+                     serialVersion + " differs from the current version at " +
+                     systemMetadata.getSerialVersion().longValue() +
+                     ". Please get the latest copy in order to modify it.";
+                 throw new InvalidRequest("4402", msg);
+              }
+              
+          } catch (Exception e) {
+              // convert Hazelcast RuntimeException to NotFound
+              throw new NotFound("4400", "No record found for: " + pid);
+            
           }
+              
+          // set the access policy
+          systemMetadata.setAccessPolicy(accessPolicy);
           
-      } catch (Exception e) {
-          // convert Hazelcast RuntimeException to NotFound
-          throw new NotFound("4400", "No record found for: " + pid);
-        
-      }
+          // update the system metadata
+          try {
+              systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
+              systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
+              HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
+            
+          } catch (Exception e) {
+              // convert Hazelcast RuntimeException to ServiceFailure
+              throw new ServiceFailure("4430", e.getMessage());
+            
+          }
           
-      // set the access policy
-      systemMetadata.setAccessPolicy(accessPolicy);
-      
-      // update the system metadata
-      try {
-          systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
-          systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
-          HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
-        
       } catch (Exception e) {
-          // convert Hazelcast RuntimeException to ServiceFailure
           throw new ServiceFailure("4430", e.getMessage());
-        
+          
       } finally {
           lock.unlock();
           logMetacat.debug("Unlocked identifier " + pid.getValue());
         
       }
+
     
     // TODO: how do we know if the map was persisted?
     success = true;
@@ -1184,59 +1203,66 @@
       }
 
       SystemMetadata systemMetadata = null;
-      try {      
+      try {
           lock = HazelcastService.getInstance().getLock(pid.getValue());
           lock.lock();
-          systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
 
-          // does the request have the most current system metadata?
-          if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
-             String msg = "The requested system metadata version number " + 
-                 serialVersion + " differs from the current version at " +
-                 systemMetadata.getSerialVersion().longValue() +
-                 ". Please get the latest copy in order to modify it.";
-             throw new InvalidRequest("4853", msg);
+          try {      
+              systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
+
+              // does the request have the most current system metadata?
+              if ( systemMetadata.getSerialVersion().longValue() != serialVersion ) {
+                 String msg = "The requested system metadata version number " + 
+                     serialVersion + " differs from the current version at " +
+                     systemMetadata.getSerialVersion().longValue() +
+                     ". Please get the latest copy in order to modify it.";
+                 throw new InvalidRequest("4853", msg);
+              }
+              
+          } catch (Exception e) { // Catch is generic since HZ throws RuntimeException
+            throw new NotFound("4854", "No record found for: " + pid.getValue() +
+                " : " + e.getMessage());
+            
           }
+              
+          // set the status for the replica
+          List<Replica> replicas = systemMetadata.getReplicaList();
+          NodeReference replicaNode = replica.getReplicaMemberNode();
+          int index = 0;
+          for (Replica listedReplica: replicas) {
+              
+              // remove the replica that we are replacing
+              if ( replicaNode.getValue().equals(listedReplica.getReplicaMemberNode().getValue())) {
+                  replicas.remove(index);
+                  break;
+                  
+              }
+              index++;
+          }
           
-      } catch (Exception e) { // Catch is generic since HZ throws RuntimeException
-        throw new NotFound("4854", "No record found for: " + pid.getValue() +
-            " : " + e.getMessage());
-        
-      }
+          // add the new replica item
+          replicas.add(replica);
+          systemMetadata.setReplicaList(replicas);
           
-      // set the status for the replica
-      List<Replica> replicas = systemMetadata.getReplicaList();
-      NodeReference replicaNode = replica.getReplicaMemberNode();
-      int index = 0;
-      for (Replica listedReplica: replicas) {
+          // update the metadata
+          try {
+              systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
+              systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
+              HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
+            
+          } catch (Exception e) {
+              throw new ServiceFailure("4852", e.getMessage());
           
-          // remove the replica that we are replacing
-          if ( replicaNode.getValue().equals(listedReplica.getReplicaMemberNode().getValue())) {
-              replicas.remove(index);
-              break;
-              
           }
-          index++;
-      }
-      
-      // add the new replica item
-      replicas.add(replica);
-      systemMetadata.setReplicaList(replicas);
-      
-      // update the metadata
-      try {
-          systemMetadata.setSerialVersion(systemMetadata.getSerialVersion().add(BigInteger.ONE));
-          systemMetadata.setDateSysMetadataModified(Calendar.getInstance().getTime());
-          HazelcastService.getInstance().getSystemMetadataMap().put(systemMetadata.getIdentifier(), systemMetadata);
+          
+    } catch (Exception e) {
+        throw new ServiceFailure("4852", e.getMessage());
+
+    } finally {
+        lock.unlock();
+        logMetacat.debug("Unlocked identifier " + pid.getValue());
         
-      } catch (Exception e) {
-          throw new ServiceFailure("4852", e.getMessage());
-      
-      } finally {
-          lock.unlock();
-          logMetacat.debug("Unlocked identifier " + pid.getValue());
-          
-      }
+    }
     
       return true;
       
@@ -1243,9 +1269,9 @@
   }
   
     @Override
-    public ObjectList listObjects(Session session, Date startTime, 
-            Date endTime, ObjectFormatIdentifier formatid, Boolean replicaStatus,
-            Integer start, Integer count)
+  public ObjectList listObjects(Session session, Date startTime, 
+      Date endTime, ObjectFormatIdentifier formatid, Boolean replicaStatus,
+      Integer start, Integer count)
       throws InvalidRequest, InvalidToken, NotAuthorized, NotImplemented,
       ServiceFailure {
       
Index: src/edu/ucsb/nceas/metacat/dataone/D1NodeService.java
===================================================================
--- src/edu/ucsb/nceas/metacat/dataone/D1NodeService.java	(revision 6857)
+++ src/edu/ucsb/nceas/metacat/dataone/D1NodeService.java	(revision 6858)
@@ -581,9 +581,7 @@
       }
       SystemMetadata systemMetadata = null;
       try {
-        HazelcastService.getInstance().getSystemMetadataMap().lock(pid);
         systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
-        HazelcastService.getInstance().getSystemMetadataMap().unlock(pid);
         
       } catch (Exception e) {
         // convert hazelcast RuntimeException to NotFound
@@ -670,9 +668,7 @@
     String pidStr = pid.getValue();
     SystemMetadata systemMetadata = null;
     try {
-        HazelcastService.getInstance().getSystemMetadataMap().lock(pid);
         systemMetadata = HazelcastService.getInstance().getSystemMetadataMap().get(pid);
-        HazelcastService.getInstance().getSystemMetadataMap().unlock(pid);
 
     } catch (Exception e) {
         // convert Hazelcast RuntimeException to NotFound
@@ -680,10 +676,7 @@
             pid.getValue() + ". The error message was: " + e.getMessage());
         throw new NotFound("1800", "No record found for " + pidStr);
         
-    } finally {
-        HazelcastService.getInstance().getSystemMetadataMap().unlock(pid);
-        
-    }
+    } 
     
     // throw not found if it was not found
     if (systemMetadata == null) {
@@ -1031,22 +1024,24 @@
    * 
    * @param sysMeta - the system metadata object in the system to update
    */
-  protected void updateSystemMetadata(SystemMetadata sysMeta)
-    throws ServiceFailure {
-      
-    logMetacat.debug("D1NodeService.updateSystemMetadata() called.");
-    sysMeta.setDateSysMetadataModified(new Date());
-    try {
-    	HazelcastService.getInstance().getSystemMetadataMap().lock(sysMeta.getIdentifier());
-    	HazelcastService.getInstance().getSystemMetadataMap().put(sysMeta.getIdentifier(), sysMeta);
-    	HazelcastService.getInstance().getSystemMetadataMap().unlock(sysMeta.getIdentifier());
-	} catch (Exception e) {
-		throw new ServiceFailure("4862", e.getMessage());
-	} finally {
-		HazelcastService.getInstance().getSystemMetadataMap().unlock(sysMeta.getIdentifier());
-	}
-      
-  }
+    protected void updateSystemMetadata(SystemMetadata sysMeta)
+        throws ServiceFailure {
+
+        logMetacat.debug("D1NodeService.updateSystemMetadata() called.");
+        sysMeta.setDateSysMetadataModified(new Date());
+        try {
+            HazelcastService.getInstance().getSystemMetadataMap().lock(sysMeta.getIdentifier());
+            HazelcastService.getInstance().getSystemMetadataMap().put(sysMeta.getIdentifier(), sysMeta);
+
+        } catch (Exception e) {
+            throw new ServiceFailure("4862", e.getMessage());
+
+        } finally {
+            HazelcastService.getInstance().getSystemMetadataMap().unlock(sysMeta.getIdentifier());
+
+        }
+
+    }
   
   /**
    * Given a Permission, returns a list of all permissions that it encompasses
