Index: trunk/DataStoreServer/scripts/dsreg
===================================================================
--- trunk/DataStoreServer/scripts/dsreg	(revision 26538)
+++ trunk/DataStoreServer/scripts/dsreg	(revision 26829)
@@ -193,7 +193,8 @@
     my $fileset_id = $fs_row->{fileset_id};
 
+    my $rows_affected;
     eval {
         $dbh->do("DELETE from dsFile where fileset_id = $fileset_id");
-        $dbh->do("DELETE from dsFileset where fileset_id = $fileset_id");
+        $rows_affected = $dbh->do("DELETE from dsFileset where fileset_id = $fileset_id");
 
         if ($old_last_fs eq $fs_row->{fileset_name}) {
@@ -215,9 +216,8 @@
         $dbh->commit();
     };
-    if ($@) { # an error occured
+    if (!$rows_affected or $@) { # an error occured
         print STDERR "transaction failed, rolling back error was:\n$@\n";
         # roll back within eval to prevent rollback failure from terminating the script
         eval {$dbh->rollback();};
-        cleanup();
         exit 1;
     }
@@ -226,9 +226,10 @@
 
     if ($remove) {
-        if (system "rm -r $fileset_dir") {
-            die("failed to remove $fileset_dir");
+        my $rc;
+        if (($rc = system "rm -r $fileset_dir")) {
+            die("failed to remove $fileset_dir error code: $rc");
         }
     } else  {
-        # zap the index script
+        # just zap the index script
         unlink("$index_script_name");
     }
