From 29a89250316282266cfb1f237918b4025bd19aa4 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 6 May 2025 00:28:03 +0200 Subject: [PATCH] Eliminate bogus read() onInitialData() says specifically that the path does not exist, there is just no point in issuing a read(). Removes a blocking call in callback and also a transaction leak, as the transaction is never close()d. JIRA: NETCONF-1459 Change-Id: Ia235d8037b92356629a9a2778b2e270ab10bc77b Signed-off-by: Robert Varga --- .../mdsal/MdsalRestconfStreamRegistry.java | 25 ++++--------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/plugins/restconf-server-mdsal/src/main/java/org/opendaylight/restconf/server/mdsal/MdsalRestconfStreamRegistry.java b/plugins/restconf-server-mdsal/src/main/java/org/opendaylight/restconf/server/mdsal/MdsalRestconfStreamRegistry.java index 1b75adfb1c..3a51de1c48 100644 --- a/plugins/restconf-server-mdsal/src/main/java/org/opendaylight/restconf/server/mdsal/MdsalRestconfStreamRegistry.java +++ b/plugins/restconf-server-mdsal/src/main/java/org/opendaylight/restconf/server/mdsal/MdsalRestconfStreamRegistry.java @@ -17,7 +17,6 @@ import java.io.StringWriter; import java.net.URI; import java.nio.charset.StandardCharsets; import java.util.List; -import java.util.concurrent.ExecutionException; import javax.annotation.PreDestroy; import javax.inject.Inject; import javax.inject.Singleton; @@ -102,9 +101,6 @@ public final class MdsalRestconfStreamRegistry extends AbstractRestconfStreamReg private static final NodeIdentifier STREAM_SUBTREE_FILTER_NODEID = NodeIdentifier.create(StreamSubtreeFilter.QNAME); private static final NodeIdentifier TARGET_NODEID = NodeIdentifier.create(SubscriptionUtil.QNAME_TARGET); - private static final YangInstanceIdentifier FILTERS = - YangInstanceIdentifier.of(FILTERS_NODEID, STREAM_FILTER_NODEID); - private final DOMDataBroker dataBroker; private final DOMNotificationService notificationService; private final DatabindProvider databindProvider; @@ -114,13 +110,7 @@ public final class MdsalRestconfStreamRegistry extends AbstractRestconfStreamReg private DefaultNotificationSource notificationSource; - private class FilterDataTreeChangeListener implements DOMDataTreeChangeListener { - private final DOMDataBroker dataBroker; - - FilterDataTreeChangeListener(final DOMDataBroker dataBroker) { - this.dataBroker = requireNonNull(dataBroker); - } - + private final class FilterDataTreeChangeListener implements DOMDataTreeChangeListener { @Override public void onDataTreeChanged(final List changes) { for (var change : changes) { @@ -150,13 +140,7 @@ public final class MdsalRestconfStreamRegistry extends AbstractRestconfStreamReg @Override public void onInitialData() { - try { - final var node = (MapNode) dataBroker.newReadOnlyTransaction() - .read(LogicalDatastoreType.CONFIGURATION, FILTERS).get().orElse(null); - processFilters(node); - } catch (InterruptedException | ExecutionException e) { - LOG.warn("Could not read filters form datastore"); - } + // No filters at all } private void processFilters(final MapNode node) { @@ -229,8 +213,9 @@ public final class MdsalRestconfStreamRegistry extends AbstractRestconfStreamReg final var changeExtension = dataBroker.extension(DataTreeChangeExtension.class); if (changeExtension != null) { tclReg = changeExtension.registerTreeChangeListener( - DOMDataTreeIdentifier.of(LogicalDatastoreType.CONFIGURATION, FILTERS), - new FilterDataTreeChangeListener(dataBroker)); + DOMDataTreeIdentifier.of(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.of( + FILTERS_NODEID, STREAM_FILTER_NODEID)), + new FilterDataTreeChangeListener()); } else { tclReg = null; } -- 2.36.6