diff options
author | Simon Rettberg | 2016-08-30 17:59:29 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-08-30 17:59:29 +0200 |
commit | 944f8851934afa30bd23b17ae008c1fd91dd0121 (patch) | |
tree | 9b6799ab0d2d05d443c60dc29e888823f335d7df /dozentenmodulserver/src/main/java/org/openslx | |
parent | [server] Improve handling of global image exchange transfers wrt. crashed pee... (diff) | |
download | tutor-module-944f8851934afa30bd23b17ae008c1fd91dd0121.tar.gz tutor-module-944f8851934afa30bd23b17ae008c1fd91dd0121.tar.xz tutor-module-944f8851934afa30bd23b17ae008c1fd91dd0121.zip |
[server] Improve thrift retry handling: Don't retry for TInvalidTokenException
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java index 3589b640..44ee85e9 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/App.java @@ -19,7 +19,6 @@ import org.openslx.bwlp.sat.database.Updater; import org.openslx.bwlp.sat.database.mappers.DbConfiguration; import org.openslx.bwlp.sat.database.mappers.DbUser; import org.openslx.bwlp.sat.fileserv.FileServer; -import org.openslx.bwlp.sat.mail.MailTemplatePlain.Template; import org.openslx.bwlp.sat.maintenance.DeleteOldImages; import org.openslx.bwlp.sat.maintenance.DeleteOldLectures; import org.openslx.bwlp.sat.maintenance.MailFlusher; @@ -31,6 +30,8 @@ import org.openslx.bwlp.sat.thrift.cache.VirtualizerList; import org.openslx.bwlp.sat.util.Configuration; import org.openslx.bwlp.sat.util.Identity; import org.openslx.bwlp.sat.web.WebServer; +import org.openslx.bwlp.thrift.iface.TInvalidTokenException; +import org.openslx.sat.thrift.version.Version; import org.openslx.thrifthelper.ThriftManager; import org.openslx.thrifthelper.ThriftManager.ErrorCallback; import org.openslx.util.QuickTimer; @@ -54,6 +55,7 @@ public class App { LOGGER.info("****************************************************************"); LOGGER.info("******************* Starting Application ***********************"); LOGGER.info("****************************************************************"); + LOGGER.info("RPC version " + Version.VERSION); // get Configuration try { @@ -93,11 +95,19 @@ public class App { LOGGER.warn("Thrift Client error for " + method + ", FAIL."); return false; } - LOGGER.info("Thrift error " + ((TException) t).getCause().toString() + " for " - + method + ", retrying..."); + if (t instanceof TInvalidTokenException) + return false; + if (((TException) t).getCause() == null) { + LOGGER.info("Thrift error " + t.toString() + " for " + + method + ", retrying..."); + } else { + LOGGER.info("Thrift error " + ((TException) t).getCause().toString() + " for " + + method + ", retrying..."); + } try { Thread.sleep(failCount * 250); } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } return true; } |