From: <mar...@us...> - 2013-12-19 15:26:41
|
Revision: 7682 http://bigdata.svn.sourceforge.net/bigdata/?rev=7682&view=rev Author: martyncutcher Date: 2013-12-19 15:26:32 +0000 (Thu, 19 Dec 2013) Log Message: ----------- Add check for ClosedByInterruptedException to handleReplicatedWrite, this was occasionally forcing a service to enterErrorState and break the quorum Modified Paths: -------------- branches/MGC_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java Modified: branches/MGC_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java =================================================================== --- branches/MGC_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java 2013-12-19 14:58:34 UTC (rev 7681) +++ branches/MGC_1_3_0/bigdata-jini/src/java/com/bigdata/journal/jini/ha/HAJournalServer.java 2013-12-19 15:26:32 UTC (rev 7682) @@ -31,6 +31,7 @@ import java.net.InetSocketAddress; import java.net.URL; import java.nio.ByteBuffer; +import java.nio.channels.ClosedByInterruptException; import java.rmi.Remote; import java.util.LinkedHashMap; import java.util.List; @@ -3629,6 +3630,13 @@ Thread.currentThread().interrupt(); return; } + // Add check for ClosedByInterruptException - but is this sufficient if the channel is now closed? + if (InnerCause.isInnerCause(t, + ClosedByInterruptException.class)) { + // propagate interrupt + Thread.currentThread().interrupt(); + return; + } /* * Error handler. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |