Hi Tom, I built it from a branch forked from pre-boron release I believe. I will migrate them into DTCL.
thank you very much! Xingjun ________________________________ From: Tom Pantelis [tompante...@gmail.com] Sent: Wednesday, July 26, 2017 3:36 PM To: Xingjun Chu Cc: controller-dev@lists.opendaylight.org; faas-...@lists.opendaylight.org Subject: Re: [controller-dev] Missing Data Change Notification Xingjun, What version are you running? Also DCL is deprecated - it is recommended to use DTCL. Not sure if anyone will support DCL at this point. Tom On Wed, Jul 26, 2017 at 2:25 PM, Xingjun Chu <xingjun....@huawei.com<mailto:xingjun....@huawei.com>> wrote: Hi, I have an issue regarding DCN, hope you guys can give me a hint. Much appreciated. I have a YANG file which has defined the following container fabric-rendered-mapping { list fabric { key "id"; leaf id { type fabric:fabric-id; } list rib { key "vrf"; leaf vrf { type uint32; } ……………. } YANGTools generates FabricRenderedMapping.java class, A listener is registered as below and its onDataChanged Method is implemented. InstanceIdentifier<Route> routeIID = InstanceIdentifier.create(FabricRenderedMapping.class) .child(Fabric.class, new FabricKey(fabricId)).child(Rib.class).child(Route.class); ribRouteListener = databroker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, routeIID, this, DataChangeScope.BASE); @Override public void onDataChanged(AsyncDataChangeEvent<InstanceIdentifier<?>, DataObject> change) { Map<InstanceIdentifier<?>, DataObject> createdData = change.getCreatedData(); for (Entry<InstanceIdentifier<?>, DataObject> entry : createdData.entrySet()) { onDataCreated(entry); } Map<InstanceIdentifier<?>, DataObject> updatedData = change.getUpdatedData(); for (Entry<InstanceIdentifier<?>, DataObject> entry : updatedData.entrySet()) { onDataUpdated(entry); } for (InstanceIdentifier<?> iid : change.getRemovedPaths()) { DataObject oldData = change.getOriginalData().get(iid); onDataRemoved(iid, oldData); } } private void onDataCreated(Entry<InstanceIdentifier<?>, DataObject> entry) { ………………… } When a rib object is created and transaction is submitted into the data store as using code below, InstanceIdentifier<Route> routeIID = InstanceIdentifier.create(FabricRenderedMapping.class) .child(Fabric.class, new FabricKey(fabricId)).child(Rib.class).child(Route.class); ribRouteListener = databroker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, routeIID, this, DataChangeScope.BASE); I checked the “fabricKey” value which matches each other. But in onDataCreated did NOT get invoked or get any notification. Any pointers what I am missing? BTW, it is single node deployment, not clustering. Thanks Xingjun _______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org> https://lists.opendaylight.org/mailman/listinfo/controller-dev
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev