From fec4c0cc25398abf710e562e61da42667da5dec4 Mon Sep 17 00:00:00 2001 From: Tomas Cere Date: Tue, 28 Apr 2015 11:09:50 +0200 Subject: [PATCH] BUG 3066 : Optimistic lock failed, on NetconfStateUpdate Fixed race condition between commit of NetconfState and opening of a new transaction in NetconfMonitoring state update. Change-Id: I2f56a0e432e630e56a35409c56e4198a3e278594 Signed-off-by: Tomas Cere --- .../monitoring/MonitoringToMdsalWriter.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/opendaylight/netconf/mdsal-netconf-monitoring/src/main/java/org/opendaylight/controller/config/yang/netconf/mdsal/monitoring/MonitoringToMdsalWriter.java b/opendaylight/netconf/mdsal-netconf-monitoring/src/main/java/org/opendaylight/controller/config/yang/netconf/mdsal/monitoring/MonitoringToMdsalWriter.java index 50958e423f..3dbcc53822 100644 --- a/opendaylight/netconf/mdsal-netconf-monitoring/src/main/java/org/opendaylight/controller/config/yang/netconf/mdsal/monitoring/MonitoringToMdsalWriter.java +++ b/opendaylight/netconf/mdsal-netconf-monitoring/src/main/java/org/opendaylight/controller/config/yang/netconf/mdsal/monitoring/MonitoringToMdsalWriter.java @@ -61,19 +61,12 @@ final class MonitoringToMdsalWriter implements AutoCloseable, NetconfMonitoringS tx.put(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(NetconfState.class), state); // FIXME first attempt (right after we register to binding broker) always fails // Is it due to the fact that we are writing from the onSessionInitiated callback ? - final CheckedFuture submit = tx.submit(); - - Futures.addCallback(submit, new FutureCallback() { - @Override - public void onSuccess(final Void aVoid) { - LOG.debug("Netconf state updated successfully"); - } - - @Override - public void onFailure(final Throwable throwable) { - LOG.warn("Unable to update netconf state", throwable); - } - }); + try { + tx.submit().checkedGet(); + LOG.debug("Netconf state updated successfully"); + } catch (TransactionCommitFailedException e) { + LOG.warn("Unable to update netconf state", e); + } } @Override -- 2.36.6