diff options
Diffstat (limited to 'jrt/src/com/yahoo/jrt/slobrok/api/Register.java')
-rw-r--r-- | jrt/src/com/yahoo/jrt/slobrok/api/Register.java | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/jrt/src/com/yahoo/jrt/slobrok/api/Register.java b/jrt/src/com/yahoo/jrt/slobrok/api/Register.java index 713cecc62d1..0da390f8bf6 100644 --- a/jrt/src/com/yahoo/jrt/slobrok/api/Register.java +++ b/jrt/src/com/yahoo/jrt/slobrok/api/Register.java @@ -181,6 +181,7 @@ public class Register { reqDone = false; boolean logOnSuccess = false; + boolean logOnFailure = true; synchronized (this) { if (req.methodName().equals(UNREGISTER_METHOD_NAME)) { logOnSuccess = true; @@ -191,16 +192,21 @@ public class Register { lastRegisterSucceeded.remove(name); } else { final Boolean lastSucceeded = lastRegisterSucceeded.get(name); - if (lastSucceeded == null || lastSucceeded != !req.isError()) { + if (lastSucceeded == null) { + logOnSuccess = true; + logOnFailure = false; + } else if (lastSucceeded != !req.isError()) { logOnSuccess = true; - lastRegisterSucceeded.put(name, !req.isError()); } + lastRegisterSucceeded.put(name, !req.isError()); } } if (req.isError()) { if (req.errorCode() != ErrorCode.METHOD_FAILED) { - log.log(Level.INFO, logMessagePrefix() + " failed, will disconnect: " + req.errorMessage() + " (code " + req.errorCode() + ")"); + if (logOnFailure) { + log.log(Level.INFO, logMessagePrefix() + " failed, will disconnect: " + req.errorMessage() + " (code " + req.errorCode() + ")"); + } target.close(); target = null; } else { @@ -210,7 +216,6 @@ public class Register { log.log(logOnSuccess ? Level.INFO : Level.FINE, logMessagePrefix() + " completed successfully"); backOff.reset(); } - req = null; name = null; } @@ -219,7 +224,7 @@ public class Register { return; // current request still in progress } if (target != null && ! slobroks.contains(currSlobrok)) { - log.log(Level.INFO, "RPC server " + mySpec + ": Slobrok server " + currSlobrok + " removed, will disconnect"); + log.log(Level.INFO, "[RPC @ " + mySpec + "] location broker " + currSlobrok + " removed, will disconnect and use one of: "+slobroks); target.close(); target = null; } @@ -227,9 +232,10 @@ public class Register { currSlobrok = slobroks.nextSlobrokSpec(); if (currSlobrok == null) { double delay = backOff.get(); - Level level = backOff.shouldWarn(delay) ? Level.WARNING : Level.FINE; - log.log(level, "RPC server " + mySpec + ": All Slobrok servers tried, will retry in " + delay - + " seconds: " + slobroks); + Level level = Level.FINE; + if (backOff.shouldInform(delay)) level = Level.INFO; + if (backOff.shouldWarn(delay)) level = Level.WARNING; + log.log(level, "[RPC @ " + mySpec + "] no location brokers available, retrying: "+slobroks+" (in " + delay + " seconds)"); updateTask.schedule(delay); return; } @@ -247,8 +253,8 @@ public class Register { } if (logFine) { - log.log(Level.FINE, "RPC server " + mySpec + ": Connect to Slobrok server " + currSlobrok + - " and reregister all Slobrok names: " + namesString); + log.log(Level.FINE, "[RPC @ " + mySpec + "] Connect to location broker " + currSlobrok + + " and reregister all service names: " + namesString); } } @@ -261,7 +267,7 @@ public class Register { req = new Request(REGISTER_METHOD_NAME); } else { pending.addAll(names); - log.log(Level.FINE, "RPC server " + mySpec + ": Reregister all Slobrok names in 30 seconds: " + names); + log.log(Level.FINE, "[RPC @ " + mySpec + "] Reregister all service names in 30 seconds: " + names); updateTask.schedule(30.0); return; } @@ -274,9 +280,9 @@ public class Register { } private String logMessagePrefix() { - return "RPC server " + mySpec - + (req.methodName().equals(UNREGISTER_METHOD_NAME) ? " unregistering " : " registering ") - + name + " with Slobrok server " + currSlobrok; + return "[RPC @ " + mySpec + "] " + + (req.methodName().equals(UNREGISTER_METHOD_NAME) ? "unregistering " : "registering ") + + name + " with location broker " + currSlobrok; } private synchronized void handleRpcList(Request req) { |