Index: trunk/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24306)
+++ trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24311)
@@ -188,10 +188,14 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # vol_name overrides the key implied volume
-    $key = parse_neb_key($key, $vol_name);
+    eval {
+        $key = parse_neb_key($key, $vol_name);
+    };
+    $log->logdie("$@") if $@;
     $vol_name = $key->volume;
 
-    my $log = $self->log;
-    my $sql = $self->sql;
     my $db  = $self->db($key);
 
@@ -440,10 +444,17 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volumes
-    $key    = parse_neb_key($key);
-    $newkey = parse_neb_key($newkey);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+    eval {
+        $newkey = parse_neb_key($newkey);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -508,10 +519,16 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volumes
-    $key1 = parse_neb_key($key1);
-    $key2 = parse_neb_key($key2);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key1 = parse_neb_key($key1);
+    };
+    $log->logdie("$@") if $@;
+    eval {
+        $key2 = parse_neb_key($key2);
+    };
+    $log->logdie("$@") if $@;
 
     my $dbidx1 = $self->_db_index_for_key($key1);
@@ -635,4 +652,7 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # if a volume name is explicity specified then we should make the
     # replication onto that volume (even if there is alread an instance on that
@@ -644,9 +664,10 @@
 
     # vol_name overrides the key implied volume
-    $key = parse_neb_key($key, $vol_name);
+    eval {
+        $key = parse_neb_key($key, $vol_name);
+    };
+    $log->logdie("$@") if $@;
     $vol_name = $key->volume;
 
-    my $log = $self->log;
-    my $sql = $self->sql;
     my $db  = $self->db($key);
 
@@ -779,9 +800,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -889,9 +914,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1012,9 +1041,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1090,9 +1123,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1143,9 +1180,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1190,9 +1231,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1248,7 +1293,10 @@
     );
 
-    $pattern = parse_neb_key($pattern) if defined $pattern;
-
-    my $log = $self->log;
+    my $log = $self->log;
+
+    eval {
+        $pattern = parse_neb_key($pattern) if defined $pattern;
+    };
+    $log->logdie("$@") if $@;
 
     $log->debug( "entered - @_" );
@@ -1362,10 +1410,14 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # vol_name overrides the key implied volume
-    $key = parse_neb_key($key, $vol_name);
+    eval {
+        $key = parse_neb_key($key, $vol_name);
+    };
+    $log->logdie("$@") if $@;
     $vol_name = $key->volume;
 
-    my $log = $self->log;
-    my $sql = $self->sql;
     my $db  = $self->db($key);
 
@@ -1380,5 +1432,5 @@
             $vol_name = undef;
         } else {
-            die "$vol_name is not a valid volume name"
+            $log->logdie("$vol_name is not a valid volume name");
         }
     }
@@ -1447,9 +1499,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1544,9 +1600,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1630,9 +1690,13 @@
     );
 
+    my $log = $self->log;
+    my $sql = $self->sql;
+
     # ignore volume
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1791,8 +1855,12 @@
     my ($self, $key) = @_;
 
-    $key = parse_neb_key($key);
-
-    my $log = $self->log;
-    my $sql = $self->sql;
+    my $log = $self->log;
+    my $sql = $self->sql;
+
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
+
     my $db  = $self->db($key);
 
@@ -1822,9 +1890,13 @@
     my ($self, $key, $vol_name) = @_;
 
-    $key = parse_neb_key($key);
+    my $log = $self->log;
+    my $sql = $self->sql;
+
+    eval {
+        $key = parse_neb_key($key);
+    };
+    $log->logdie("$@") if $@;
     my $volume_info = parse_neb_volume($vol_name);
 
-    my $log = $self->log;
-    my $sql = $self->sql;
     my $db  = $self->db($key);
 
