X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=applications%2Fforwardingrules-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fapplications%2Ffrm%2Fimpl%2FFlowForwarder.java;h=c3cc81cde40c5024f674cfb9214ccc46957fd0ef;hb=8c8afa72bf93734ea40367e0831a571c037d5ca2;hp=cb27c294e583bd6767b2dbc54d4586d7185e9fcb;hpb=cf6b0514a275424a426a2da12df2782945bfed51;p=openflowplugin.git diff --git a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FlowForwarder.java b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FlowForwarder.java index cb27c294e5..c3cc81cde4 100644 --- a/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FlowForwarder.java +++ b/applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FlowForwarder.java @@ -11,6 +11,7 @@ import com.google.common.base.Preconditions; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.SettableFuture; import java.util.concurrent.Future; import org.opendaylight.controller.md.sal.binding.api.DataBroker; @@ -18,6 +19,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; +import org.opendaylight.infrautils.utils.concurrent.JdkFutures; import org.opendaylight.openflowplugin.applications.frm.ForwardingRulesManager; import org.opendaylight.openflowplugin.common.wait.SimpleTaskRetryLooper; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri; @@ -35,6 +37,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.Flow import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.RemoveFlowInputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.RemoveFlowOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.UpdateFlowInputBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.UpdateFlowOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.flow.update.OriginalFlowBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.flow.update.UpdatedFlowBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowRef; @@ -106,7 +109,9 @@ public class FlowForwarder extends AbstractListeningCommiter { // into remove-flow input so that only a flow entry associated with // a given flow object is removed. builder.setTransactionUri(new Uri(provider.getNewTransactionId())).setStrict(Boolean.TRUE); - provider.getSalFlowService().removeFlow(builder.build()); + final Future> resultFuture = + provider.getSalFlowService().removeFlow(builder.build()); + JdkFutures.addErrorLogging(resultFuture, LOG, "removeFlow"); } } @@ -154,7 +159,9 @@ public class FlowForwarder extends AbstractListeningCommiter { builder.setUpdatedFlow(new UpdatedFlowBuilder(update).setStrict(Boolean.TRUE).build()); builder.setOriginalFlow(new OriginalFlowBuilder(original).setStrict(Boolean.TRUE).build()); - provider.getSalFlowService().updateFlow(builder.build()); + final Future> resultFuture = + provider.getSalFlowService().updateFlow(builder.build()); + JdkFutures.addErrorLogging(resultFuture, LOG, "updateFlow"); } } @@ -232,7 +239,7 @@ public class FlowForwarder extends AbstractListeningCommiter { public void onFailure(Throwable throwable) { LOG.error("Stale Flow creation failed {}", throwable); } - }); + }, MoreExecutors.directExecutor()); }