Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Update to akka 2.4.11
[controller.git]
/
opendaylight
/
md-sal
/
sal-clustering-commons
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
common
/
actor
/
MeteringBehavior.java
diff --git
a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteringBehavior.java
b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteringBehavior.java
index c04e2e93402ad12915828812d4365016fabbda51..36c35be30a4cc1c4438af53f7c2a558f4ad99ca8 100644
(file)
--- a/
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteringBehavior.java
+++ b/
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/MeteringBehavior.java
@@
-12,6
+12,7
@@
import akka.japi.Procedure;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Timer;
import com.google.common.base.Preconditions;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Timer;
import com.google.common.base.Preconditions;
+import com.google.common.base.Throwables;
import org.opendaylight.controller.cluster.reporting.MetricsReporter;
/**
import org.opendaylight.controller.cluster.reporting.MetricsReporter;
/**
@@
-40,7
+41,7
@@
public class MeteringBehavior implements Procedure<Object> {
*
* @param actor whose behaviour needs to be metered
*/
*
* @param actor whose behaviour needs to be metered
*/
- public MeteringBehavior(
AbstractUntypedActorWithMetering actor)
{
+ public MeteringBehavior(
final AbstractUntypedActorWithMetering actor)
{
Preconditions.checkArgument(actor != null, "actor must not be null");
this.meteredActor = actor;
Preconditions.checkArgument(actor != null, "actor must not be null");
this.meteredActor = actor;
@@
-49,7
+50,7
@@
public class MeteringBehavior implements Procedure<Object> {
init(actorName);
}
init(actorName);
}
- public MeteringBehavior(
UntypedActor actor)
{
+ public MeteringBehavior(
final UntypedActor actor)
{
Preconditions.checkArgument(actor != null, "actor must not be null");
this.meteredActor = actor;
Preconditions.checkArgument(actor != null, "actor must not be null");
this.meteredActor = actor;
@@
-57,7
+58,7
@@
public class MeteringBehavior implements Procedure<Object> {
init(actorName);
}
init(actorName);
}
- private void init(
String actorName)
{
+ private void init(
final String actorName)
{
actorQualifiedName = new StringBuilder(meteredActor.getSelf().path().parent().toStringWithoutAddress()).
append("/").append(actorName).toString();
actorQualifiedName = new StringBuilder(meteredActor.getSelf().path().parent().toStringWithoutAddress()).
append("/").append(actorName).toString();
@@
-82,7
+83,7
@@
public class MeteringBehavior implements Procedure<Object> {
* @throws Exception
*/
@Override
* @throws Exception
*/
@Override
- public void apply(Object message) throws Exception {
+ public void apply(
final
Object message) throws Exception {
final String messageType = message.getClass().getSimpleName();
final String msgProcessingTimeByMsgType =
final String messageType = message.getClass().getSimpleName();
final String msgProcessingTimeByMsgType =
@@
-94,7
+95,12
@@
public class MeteringBehavior implements Procedure<Object> {
final Timer.Context context = msgProcessingTimer.time();
final Timer.Context contextByMsgType = msgProcessingTimerByMsgType.time();
final Timer.Context context = msgProcessingTimer.time();
final Timer.Context contextByMsgType = msgProcessingTimerByMsgType.time();
- meteredActor.onReceive(message);
+ try {
+ meteredActor.onReceive(message);
+ } catch (Throwable t) {
+ Throwables.propagateIfPossible(t, Exception.class);
+ throw Throwables.propagate(t);
+ }
//stop timers
contextByMsgType.stop();
//stop timers
contextByMsgType.stop();