diff -r dd05c3f2fa24 -r 146b3275b792 org/sonews/daemon/NNTPConnection.java --- a/org/sonews/daemon/NNTPConnection.java Fri Dec 25 15:42:46 2009 +0100 +++ b/org/sonews/daemon/NNTPConnection.java Sun May 09 12:38:46 2010 +0200 @@ -33,6 +33,7 @@ import org.sonews.daemon.command.Command; import org.sonews.storage.Article; import org.sonews.storage.Channel; +import org.sonews.storage.StorageBackendException; import org.sonews.util.Log; import org.sonews.util.Stats; @@ -275,7 +276,17 @@ try { // The command object will process the line we just received - command.processLine(this, line, raw); + try + { + command.processLine(this, line, raw); + } + catch(StorageBackendException ex) + { + Log.get().info("Retry command processing after StorageBackendException"); + + // Try it a second time, so that the backend has time to recover + command.processLine(this, line, raw); + } } catch(ClosedChannelException ex0) { @@ -289,7 +300,7 @@ ex0a.printStackTrace(); } } - catch(Exception ex1) + catch(Exception ex1) // This will catch a second StorageBackendException { try {