Tony Tkacik [Mon, 7 Apr 2014 09:04:13 +0000 (09:04 +0000)]
Merge "BUG-509: make sure datastore commits are visible"
Robert Varga [Fri, 4 Apr 2014 17:14:57 +0000 (19:14 +0200)]
BUG-509: internal cleanup
Spell-check internal class and make it static
Make sure we don't have null name in contructor
Make sure we don't have null executor in constructor
getIdentifier() should be final
Change-Id: Ib8ebe82106d953581738bccbe1d4b878f9520b5b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 4 Apr 2014 17:50:57 +0000 (19:50 +0200)]
BUG-509: make sure datastore commits are visible
This wraps the datastore root in an AtomicReference, which makes sure
started transactions see the latest published commit. This will make
the datastore handling more robust under tight conditions.
Also uncovers the fact that we are invoking user code under lock, which
we fix by reusing the executor used by the commit machinery.
Finally it uncovers thread-unsafe listener list manipuation. This will
need to be addressed in a follow-up patch.
Change-Id: Ic7efd266ef680701c1f0944ee675122d8527568b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Fri, 4 Apr 2014 17:05:09 +0000 (17:05 +0000)]
Merge "Bug 510: Implementation of Forwarded Binding Data Broker"
Robert Varga [Fri, 28 Mar 2014 21:23:07 +0000 (22:23 +0100)]
Bug 510: Implementation of Forwarded Binding Data Broker
Initial implementation of Forwarded Binding Data Broker
and Forwarded Backwards Compatible Data Broker,
which provides access to new data broker via original
API.
Added sample configuration which enables new
DOM Data Broker, In-memory Data Broker and
ForwardedCompatibleDataBroker.
Change-Id: I3569da20a9873edf352a54622be7a01fd329aa9b
Signed-off-by: Moiz Raja <moraja@cisco.com>
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 26 Mar 2014 18:29:13 +0000 (19:29 +0100)]
Bug 499: Fixed normalization of InstanceIdentifier for backwards compatibility
Change-Id: I633eb004729c6013df49c3f82420adf6d2417ea9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 21 Mar 2014 12:30:45 +0000 (13:30 +0100)]
Bug 499: Improved data change listener tree management
Change-Id: I62843c3c4df32dd5a5849511d41352fa6822550b
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Tue, 1 Apr 2014 15:22:45 +0000 (15:22 +0000)]
Merge "Bug 499: Added support for old DOM Broker APIs."
Ed Warnicke [Tue, 1 Apr 2014 15:22:27 +0000 (15:22 +0000)]
Merge "Bug 499: Added support for change listeners."
Ed Warnicke [Tue, 1 Apr 2014 15:21:25 +0000 (15:21 +0000)]
Merge "Bug 499: Initial draft of in-memory datastore and data broker"
Ed Warnicke [Mon, 31 Mar 2014 20:13:53 +0000 (20:13 +0000)]
Merge "Bug 499: Initial implementation of data tree modifications"
Ed Warnicke [Mon, 31 Mar 2014 20:09:54 +0000 (20:09 +0000)]
Merge "Bug 499: Initial implementation of supporting tree structures"
Tony Tkacik [Mon, 31 Mar 2014 07:23:02 +0000 (07:23 +0000)]
Merge "Do not use InstanceIdentifier.builder()"
Tony Tkacik [Wed, 26 Mar 2014 18:29:13 +0000 (19:29 +0100)]
Bug 499: Added support for old DOM Broker APIs.
Added implementation of BackwardsCompatibleBroker
which exposes sal.core.api.DataBrokerService
using new DOMDataBroker and Data Store.
Enabled configuration which allows for configuring
specificing which implementation of Data DOM Broker
should be used in the MD-SAL.
Change-Id: I6ad7172e62eac1ae0af9be08684b2ae4adba6005
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Fri, 21 Mar 2014 12:30:45 +0000 (13:30 +0100)]
Bug 499: Added support for change listeners.
Change-Id: I9e9c46f13f77ac8b1bda459c35724a5e0b24d91f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 18 Mar 2014 16:18:37 +0000 (17:18 +0100)]
Bug 499: Initial draft of in-memory datastore and data broker
Initial implementation of InMemoryDOMDataStore with support
for commits to the store and conflict checking
- DOMDataBrokerImpl - initial implementation of DOM Data Broker which
uses InMemoryDOMDataStore instances as store for Operational
and Configuration data
- InMemoryDOMDataStore - implementation of in-memory DOM Data Store
which uses MutableDataTree
- Updated SchemaAwareApplyOperation to provide
more granular operations as
- verifyStructure - verify if correct tree node types are used
- isApplicable - verifies if modification is applicable to other
snapshot
Added test suite which tests InMemoryDOMStore, performance
of DOMDataBroker and DOM Data Broker.
Change-Id: Ia7f8659aa128e1dc1e9a8580ac46452dfe66289a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 18 Mar 2014 16:10:14 +0000 (17:10 +0100)]
Bug 499: Initial implementation of data tree modifications
Initial implementation of data tree modifications using
StoreMetadataNode and NodeModification.
- DataAndMetadataSnapshot - helper class, which
contains immutable snapshot of data and metadata
- ModificationApplyOperation - interface definition
of composite hierarchical operation, which
is responsible for applying changes to provided
subtree
- SchemaAwareApplyOperation - implementations of
ModificationApplyOperation based on parsed
SchemaContext
- MutableDataTree - class which integrates
Data tree, Metadata tree, Node Modification tree
and ModificationApplyOperations into mutable logical
tree, which will serves as a basis for read-write
transactions.
- Unit test for MutableDataTree in following scenarios
- Create empty MutableDataTree, write subtree, read nested nodes
- Create empty MutableDataTree, write subtree, modify subtree
- Create MutableDataTree with existing date, write changes and deletes
Change-Id: I5c0c84764f93d150eac6d227c4bc367b67652f9d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Tue, 18 Mar 2014 16:00:55 +0000 (17:00 +0100)]
Bug 499: Initial implementation of supporting tree structures
- StoreTreeNode - interface defining common interface to tree
structures used by data store.
- TreeNodeUtils - utility methods which uses StoreTreeNode
as tree definitions and provides functionality such
as retrieval of deep nodes.
- StoreMetadataNode - immutable tree node (and tree), representing
versioning metadata and data.
- NodeModification - mutable tree node (and tree),
representing modification (diff) which should be applied to
data tree. Tree is lazily populated by invoking client
operations to be maded.
This patchset requires https://git.opendaylight.org/gerrit/#/c/5646/
to be merged.
Change-Id: I2d2437ea64ba54565ba60826fe0e7c14f071598e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Fri, 28 Mar 2014 16:47:30 +0000 (16:47 +0000)]
Merge changes Id6b8ba01,Ic4081b36
* changes:
Bug:553 - RPC providers are not cleaned up on bundle stop, causing bundle restart to fail
Bug:441-closing listener on stop of md-topologymaneger bundle
Ed Warnicke [Fri, 28 Mar 2014 01:01:22 +0000 (01:01 +0000)]
Merge "Bug 500: DOMStore SPI"
Ed Warnicke [Fri, 28 Mar 2014 00:59:11 +0000 (00:59 +0000)]
Merge "Bug 500: Type capture for DOM and Binding APIs"
Ed Warnicke [Fri, 28 Mar 2014 00:57:35 +0000 (00:57 +0000)]
Merge "Bug 500: Updated data APIs with new concepts."
Robert Varga [Tue, 11 Mar 2014 18:20:00 +0000 (19:20 +0100)]
Bug 500: DOMStore SPI
This is the API which needs to be implemented by a single logical tree
store, such that it can be plugged into the in-memory datastore
prototype.
The prototype keeps one logical data store for each of operational and
configuration subtrees. A front-end (client-visible) transaction results
in two back-end (data store) transactions. State transitions between the
three are coordinated using three-phase-commit protocol (3PC), with the
frontend transaction acting as the coordinator and the backend
transactions acting as cohorts.
Change-Id: Idfce04553e7c36ae6a1bb8c8b2699ca78c458bb4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 12 Mar 2014 14:54:52 +0000 (15:54 +0100)]
Bug 500: Type capture for DOM and Binding APIs
This commit introduces the type captures of new interfaces introduced in
the preceding commit.
Change-Id: I8da8ecd0a0404e89ae20d0d85894fc9da59e9903
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 11 Mar 2014 12:28:59 +0000 (13:28 +0100)]
Bug 500: Updated data APIs with new concepts.
- Logical Datastore Type idenfier
- Asynchronous Data Broker contracts - some data broker contracts
were synchronous which could misslead consumers of APIs
- New Transaction subtypes with support for Asynchronous reads
- read-only transaction
- write-only transaction
- read-write transaction
- Scoped Data Change Publisher - client code is able
to specify scope of changes and logical datastore
type on which it is listening.
Change-Id: I2367e7df633dd07b08550014bed7a35c3e88a7ba
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 25 Mar 2014 21:07:14 +0000 (22:07 +0100)]
Do not use InstanceIdentifier.builder()
Stop using the type-usafe identifier builder. This eradicates the
obvious places. The leftover now are just the BI connector.
Change-Id: Iff1d1fc58e638d02e08951dbddead067d3e746e1
Signed-off-by: Robert Varga <rovarga@cisco.com>
Kamal Rameshan [Wed, 26 Mar 2014 21:12:19 +0000 (14:12 -0700)]
Bug:553 - RPC providers are not cleaned up on bundle stop, causing bundle restart to fail
Change-Id: Id6b8ba01194d71d2eb7ea97ca70088dec8b29d6e
Signed-off-by: Kamal Rameshan <kramesha@cisco.com>
Robert Varga [Tue, 25 Mar 2014 12:00:56 +0000 (13:00 +0100)]
Update to use yang concepts
Change-Id: I529ec122c54d51efe10128985e8b1b0cd715461b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 25 Mar 2014 01:32:15 +0000 (02:32 +0100)]
Fix sal-binding-api dependencies
Remove unused dependencies on sal-common and add used dependencies on
yang concepts and guava.
Change-Id: Ifb2b16f00b9af2bb8716412b4e6d4fa0fd5bdc54
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 25 Mar 2014 05:24:51 +0000 (05:24 +0000)]
Merge "Add MountInstance client documentation and promote to ListenableFuture"
Tony Tkacik [Tue, 25 Mar 2014 05:20:41 +0000 (05:20 +0000)]
Merge "Fix sal-common-api dependencies"
Robert Varga [Tue, 25 Mar 2014 01:27:36 +0000 (02:27 +0100)]
Fix sal-common-api dependencies
sal-common-api should not depend on org.osgi.core nor sal-common. Remove
these dependencies and fix users which relied on org.osgi.core being
brought into compilation transitively.
Change-Id: Idf27f78e0c52c8a93e38c1fb7f8bba6615c3b745
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 18 Mar 2014 10:45:26 +0000 (10:45 +0000)]
Merge "Resolve Bug:448 - Remove yang-store api and impl."
Robert Varga [Thu, 13 Mar 2014 08:23:27 +0000 (09:23 +0100)]
Add MountInstance client documentation and promote to ListenableFuture
This adds documentation to MountInstance interface. Also promote
Future<> to ListenableFuture<>, as there is only a single implementation
anyway.
Change-Id: I9346f1f38c633b32fa7039f143d6c7634cb97359
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tomas Olvecky [Mon, 10 Mar 2014 08:56:13 +0000 (09:56 +0100)]
Resolve Bug:448 - Remove yang-store api and impl.
Depends on yangtools commit https://git.opendaylight.org/gerrit/#/c/5579/ .
Instead of having multiple bundle trackers for config and netconf, keep only
one. Each bundle containing yang files should use sal code generator, which
generates YangModuleInfo objects. Using this instead of speculatively having
to parse all current yang files for each adding bundle event allows not having
to deal with broken yang dependencies when bundle events come in wrong order.
Put SchemaContextProvider to OSGi SR in config-manager, so that any bundle
working with yang can use it. This replaces too specific YangStoreService which
was coupled with yang-jmx-generator. Users can listen for changes directly
on OSGi SR - they receive service changed event when yang module is added or
removed.
Change-Id: Iabcb35929a1eeef0df328f3f948d70e1bfcbba0d
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Tony Tkacik [Wed, 12 Mar 2014 09:53:20 +0000 (09:53 +0000)]
Merge "Fix typos in documentation"
Moiz Raja [Wed, 12 Mar 2014 08:13:38 +0000 (09:13 +0100)]
Fix typos in documentation
Change-Id: I0023e7256f02170c04cc00579ee791f5a3578b1d
Signed-off-by: Moiz Raja <moraja@cisco.com>
Tony Tkacik [Tue, 11 Mar 2014 11:17:54 +0000 (11:17 +0000)]
Merge "Prune long-deprecated APIs"
Robert Varga [Fri, 28 Feb 2014 12:42:05 +0000 (13:42 +0100)]
Prune long-deprecated APIs
Prune APIs which have been deprecated well before the Hydrogen release.
No outside users should be relying on them at this point.
Change-Id: I5b966c98733912ece175ce8fa5a4a821c3b2c6d9
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 9 Mar 2014 10:40:11 +0000 (11:40 +0100)]
Cleanup AbstractDataTransaction state changes
Centralize state to be internal and add time tracking, such that it can
be used in logs and statistics.
Change-Id: Ie4197cd2a10bb6b89931f5ecd9b3cc6dcfbe3011
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 9 Mar 2014 10:15:37 +0000 (11:15 +0100)]
Remove SupressWarnings("all")
It turns out to be unnecessary except for a raw type usage -- which is
fixed.
Change-Id: Icdbfbb9b23a4446caeff4cf73a423874b05e0361
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 28 Feb 2014 12:41:49 +0000 (13:41 +0100)]
Add interface documentation
Change-Id: I3573d1153a62bfe36a01504198a3d1182d1013c1
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 5 Mar 2014 09:16:37 +0000 (09:16 +0000)]
Merge "Enabling Remote RPC Router module in ODL distribution."
Abhishek Kumar [Thu, 13 Feb 2014 23:26:44 +0000 (15:26 -0800)]
Enabling Remote RPC Router module in ODL distribution.
- Added initial Route Change event
- Updated pom
- Fix rebase conflicts
- Added 02-clustering to initial configuration
Change-Id: I64dc6550171755af52a403f576c086ef2257b4a2
Signed-off-by: Abhishek Kumar <abhishk2@cisco.com>
Tony Tkacik [Mon, 3 Mar 2014 13:06:34 +0000 (13:06 +0000)]
Merge "Remove static state and default beans from RuntimeMappingModuleFactory,SchemaServiceImplSingletonModuleFactory."
Tomas Olvecky [Fri, 28 Feb 2014 10:27:13 +0000 (11:27 +0100)]
Remove static state and default beans from RuntimeMappingModuleFactory,SchemaServiceImplSingletonModuleFactory.
Remove static reference from factories as this breaks tests: it is useful to tear down config subsystem
between tests, but there is no way to clean up static fields.
Since default beans are discouraged, rework those factories to enforce instance naming so that only a single
instance can be created.
01-md-sal.xml already creates both modules.
Change-Id: I5efbe12b349ae82bfff12ae9a767505a66df2f90
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Tony Tkacik [Thu, 27 Feb 2014 14:59:24 +0000 (14:59 +0000)]
Merge "Centralize yang-maven-plugin version"
Tony Tkacik [Thu, 27 Feb 2014 14:57:41 +0000 (14:57 +0000)]
Merge "Deprecate org.opendaylight.controller.sal.common.util.Futures"
Robert Varga [Thu, 27 Feb 2014 11:44:18 +0000 (12:44 +0100)]
Fixed order of applying changes when forwarding transactions
Commit
5659f588f80522a5be5c80d0e5ff34068b5f4786 changed the semantics of
remove/update operations such that the order of application became
significant: remove, then put.
Unfortunately we failed to notice that there are two places which apply
the operations in wrong order, thus breaking clients who perform a
remove/put in a single transaction -- e.g. replacing data without
merging it.
Fix DataStore and Binding->DOM connector.
Change-Id: I4fb12730e8256d3614846adb1fa5a1096284e0eb
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Thu, 27 Feb 2014 12:05:29 +0000 (13:05 +0100)]
Centralize yang-maven-plugin version
There is no reason for individual projects to define the version over
and over again -- let's keep it in one place.
Change-Id: I4ea6ccbc51e31cf3cef3b7c1304ea7dcc02667f7
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 27 Feb 2014 11:11:34 +0000 (12:11 +0100)]
Deprecate org.opendaylight.controller.sal.common.util.Futures
We use guava throughout -- and those are better.
Change-Id: I0013f8fc0c10742791159abdf151662eaae5629f
Signed-off-by: Robert Varga <rovarga@cisco.com>
Abhishek Kumar [Fri, 24 Jan 2014 08:31:49 +0000 (00:31 -0800)]
Adding routed RPC support in Remote RPC Router
- Updated RoutingTable to add a new routed RPC cache
- Updated sal-core-api to add Remote RPC Router as default delegate in SchemaAwareRpcBroker
- Refactored RemoteRpcProvider code.
- Added unit tests for routing table
- Removed RouteIdentifier <-> JSON conversion. Its not used anymore
- Rebased with master
Change-Id: Id13a0a6a9ae6ded7ea9068b7a613a9e196c89a7b
Signed-off-by: Abhishek Kumar <abhishk2@cisco.com>
Tony Tkacik [Tue, 25 Feb 2014 18:13:31 +0000 (18:13 +0000)]
Merge "Prune long-deprecated APIs"
Robert Varga [Wed, 19 Feb 2014 10:44:06 +0000 (11:44 +0100)]
Prune long-deprecated APIs
These APIs are from prototype days and have never properly worked. Prune
them to reduce the baggage we carry around.
Change-Id: I9ac89552edf76f0740c660c100ec0426627b413a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 25 Feb 2014 13:35:32 +0000 (14:35 +0100)]
Fix logging arguments in two-phase commit
Change-Id: I0be572998f4ce5d30dca5178f946fab15ed925ca
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 19 Feb 2014 02:55:48 +0000 (03:55 +0100)]
Fix comments and remove use of deprecated class
This primarily removes SchemaServiceListener, as that is deprecated and
implied by SchemaContextListener, which is replacing it.
Change-Id: I977e818ff466ab27f6cd213d1e0e255e2f1b59a4
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 25 Feb 2014 12:02:03 +0000 (12:02 +0000)]
Merge "fix bug 431"
Robert Varga [Tue, 25 Feb 2014 10:12:14 +0000 (11:12 +0100)]
RpcRegistration.close() should not throw
Closing an RPC registration is an atomic act, e.g. it should never be
allowed to throw exceptions.
Change-Id: Ie49c67691540db4d4a8a21814e01d3287c5f31cd
Signed-off-by: Robert Varga <rovarga@cisco.com>
Vaclav Demcak [Mon, 24 Feb 2014 21:52:44 +0000 (22:52 +0100)]
fix bug 431
Change-Id: Ifd972d7e8acfbc8ed2b9d64391f156b09617d304
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
Tony Tkacik [Mon, 24 Feb 2014 17:22:10 +0000 (17:22 +0000)]
Merge "Modify config-api exceptions, bump config and netconf to 0.2.5-SNAPSHOT."
Maros Marsalek [Tue, 11 Feb 2014 15:36:32 +0000 (16:36 +0100)]
Modify config-api exceptions, bump config and netconf to 0.2.5-SNAPSHOT.
Change ConflictingVersionException and ValidationException to be checked instead of
runtime exceptions.
Fix ConfigPusher's ConflictVersionException handling that was introduced when IOException was
used to wrap RuntimeException.
Small fixes in netconf, more refactoring of exception handling will be needed there.
Maros Marsalek: Rebase commit + fix compliation issue in ShutdownTest
Change-Id: Iab89de6ef6ced0de0a267470f860912ae3c56892
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Maros Marsalek [Tue, 18 Feb 2014 15:51:09 +0000 (16:51 +0100)]
Add ModuleInfoBackedContext loading strategy to RuntimeGeneratedMapping service.
RuntimeGeneratedMappingServiceImpl is now started by the config-manager.
ModuleInfoBackedContext is filled by BundleTracker in config-manager.
This fix allows use of yang identities in netconf and restconf.
Change-Id: Id59d9d2ce08bfc9216d90cb5673e2d02aafd9151
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Robert Varga [Tue, 18 Feb 2014 15:36:36 +0000 (16:36 +0100)]
Add logging for HashMapDataStore
Change-Id: Icea99ff59317cc387a1143762840795149d4058e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 18 Feb 2014 12:30:44 +0000 (12:30 +0000)]
Merge "Activate enforcement of Path type"
Robert Varga [Tue, 18 Feb 2014 11:33:01 +0000 (12:33 +0100)]
Activate enforcement of Path type
This activates pre-prepared requirement of P to be of type Path<P>,
which had prerequisites in generated DTOs. Yangtools have been updated,
so it should be safe to activate this now.
Change-Id: I68ad3a77311e44db2e6bee1d7e2b3684090e5cbd
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 18 Feb 2014 08:53:30 +0000 (09:53 +0100)]
Fix a few more warnings
- Remove unused string constants
- Add type arguments
- Removed unused field
Change-Id: I8fbbd238a805d9445eecc4d7c65176ce4ff36b6d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 18 Feb 2014 08:34:14 +0000 (09:34 +0100)]
Optimize empty transactions
This is a micro-optimization: if we know there are no affected paths,
we used to spin an entire transaction -- which ended up revalidating an
empty delta. Let's skip the entire circus and proceed to commit
directly.
Change-Id: Ia6250663c01348dd08610c2a44dc01743761a05c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 18 Feb 2014 07:34:56 +0000 (08:34 +0100)]
Another round of warnings fixes
Removes one unused method
Fixes raw type usage where possible
Organize imports to get rid of unused/duplicate imports
Remove the use of deprecated InstanceIdentifier methods
Change-Id: I75bac5eae1e8cffcf88ab01451d3e4a8afa8c43e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 18 Feb 2014 06:43:15 +0000 (07:43 +0100)]
Place an upper bound on notification concurrency
In Cbench tests we have seen as many as 2000 threads being created. This
is certainly an overkill and thus let's place an upper bound on the
number of threads we create.
Change-Id: I6a7f429080504cbfa75679cc5879264a0622f140
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 17 Feb 2014 16:30:03 +0000 (16:30 +0000)]
Merge changes I393151af,I0a302cde
* changes:
Fix unused field warnings
Fix warnings about overriden versions
Robert Varga [Sun, 16 Feb 2014 11:03:08 +0000 (12:03 +0100)]
Fix warnings about overriden versions
With proper parent structure, version overrides should not be present.
Change-Id: I0a302cde1c619af76f9290f7e5ca5080ff4fe251
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 17 Feb 2014 08:54:30 +0000 (08:54 +0000)]
Merge "Add a bit of documentation"
Robert Varga [Sat, 15 Feb 2014 06:05:11 +0000 (07:05 +0100)]
Add a bit of documentation
Change-Id: I57883cffb62f4f22de74d567f9d040a90e21a5d0
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Sat, 15 Feb 2014 03:25:14 +0000 (03:25 +0000)]
Merge "Bug fixes for netconf southbound plugin."
Lukas Sedlak [Mon, 10 Feb 2014 07:15:51 +0000 (23:15 -0800)]
Bug fixes for netconf southbound plugin.
Fixed wrong operation type sending in edit-config for netconf device. Action type replaced for "operation" type.
Fixed conversion of toRpcMessage in NetconfMapping. Fixed wrong QName - changed from "action" to "operation".
Change-Id: Ic9e07dfc2bdb50552321754cb92333ef88aa14bb
Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
Tony Tkacik [Fri, 14 Feb 2014 22:06:04 +0000 (22:06 +0000)]
Merge "Fixed bug when RPC was not propagared"
Abhishek Kumar [Fri, 14 Feb 2014 00:20:35 +0000 (16:20 -0800)]
Fixed bug when RPC was not propagared
- Fixed DOM Broker and BI Connector code
- The refactoring was done so that DOM Broker does not get exposed to
- BA Broker directly but rather through a proxy. This also fixes the
issue where DOM Broker would not be initialized in BI Connector, therefore
any messages from BA Broker would not flow to DOM Broker via BI Connector.
Change-Id: Ia25a71787857c8d052a5dbd40e8237015d8c4d63
Signed-off-by: Abhishek Kumar <abhishk2@cisco.com>
Ed Warnicke [Fri, 14 Feb 2014 15:36:23 +0000 (15:36 +0000)]
Merge "Fixed bug when Binding-Aware Data Change Listeners we're not triggered."
Tony Tkacik [Fri, 14 Feb 2014 05:10:59 +0000 (06:10 +0100)]
Fixed bug when Binding-Aware Data Change Listeners we're not triggered.
- Added additional strategy to inspect changes based on registered listeners
- Fixed normalization of data for changes where parent node was written
- Extracts data for listener, so listener does not need to
extract that data manually
- Splitted AbstractDataBroker.xtend into several classes
Change-Id: I7e5d1d759c40519d164b08678a9dc22743d329bb
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Thu, 13 Feb 2014 11:31:25 +0000 (11:31 +0000)]
Merge "sal-restconf-broker initial implementation needs https://git.opendaylight.org/gerrit/#/c/5259/ and https://git.opendaylight.org/gerrit/#/c/5282/ to be merged for successful build"
Martin Bobak [Mon, 20 Jan 2014 13:27:44 +0000 (14:27 +0100)]
sal-restconf-broker initial implementation
needs https://git.opendaylight.org/gerrit/#/c/5259/
and https://git.opendaylight.org/gerrit/#/c/5282/ to be merged for
successful build
Change-Id: Ic665eaf25c908ed7633cfeee7629354d647ef09f
Signed-off-by: Martin Bobak <mbobak@cisco.com>
Ed Warnicke [Wed, 12 Feb 2014 06:57:08 +0000 (06:57 +0000)]
Merge "Fixed removals from data store did not clean direct-match indexes to child nodes."
Ed Warnicke [Wed, 12 Feb 2014 06:56:15 +0000 (06:56 +0000)]
Merge "Fixed bug when publisher's thread was blocked until all notifications were delivered."
Tony Tkacik [Wed, 12 Feb 2014 00:19:23 +0000 (01:19 +0100)]
Fixed removals from data store did not clean direct-match indexes to child
nodes.
- Added deepRemoveStrategy, which checks for all quick indexes
if they are removed correctly.
Change-Id: Icb7a231ca0308774f76b43ac40ab4eaf47e68937
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 11 Feb 2014 18:35:42 +0000 (19:35 +0100)]
Fixed bug when publisher's thread was blocked until all notifications were delivered.
Change-Id: Ieb083feec0ac6a64877fb045fa4fa6ba6e3fa412
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Mon, 10 Feb 2014 23:36:04 +0000 (23:36 +0000)]
Merge "Fix a few eclipse-reported warnings"
Ed Warnicke [Mon, 10 Feb 2014 12:20:21 +0000 (12:20 +0000)]
Merge "Cleanup imports/whitespace in MD-SAL"
Robert Varga [Fri, 7 Feb 2014 20:01:21 +0000 (21:01 +0100)]
Cleanup imports/whitespace in MD-SAL
Change-Id: I0f18ffe229ed213308a0cd5cf343fd64ff79a17c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 7 Feb 2014 23:01:27 +0000 (00:01 +0100)]
Fix a few eclipse-reported warnings
- unused suppresswarnings
- missing serialVersionUuid
- missing generic arguments
Change-Id: Ie741e88bfe161a9e4613b4076892cbcabdd0375c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Fri, 7 Feb 2014 06:36:35 +0000 (06:36 +0000)]
Merge "Fixed publishDataChangeEvent in 2phase commit"
Robert Varga [Wed, 5 Feb 2014 13:06:39 +0000 (14:06 +0100)]
Fix unintentional breakage
Yangtools commit
6e7a42bd344f5928343ad67328bc8a8a734bea2e introduced a
new method which broke the controller-side proxy. Fix it up by simply
forwarning it through the delegate.
Change-Id: I4582acb3a6987d9d87d422a86283984a38cd31ba
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Mon, 3 Feb 2014 22:51:26 +0000 (22:51 +0000)]
Merge "MD-SAL transaction chaining API"
Ed Warnicke [Mon, 3 Feb 2014 22:49:16 +0000 (22:49 +0000)]
Merge "Removed unused code from md-sal."
Ed Warnicke [Mon, 3 Feb 2014 22:45:17 +0000 (22:45 +0000)]
Merge "Restrict MD-SAL data operations to a single thread"
Ed Warnicke [Mon, 3 Feb 2014 22:42:40 +0000 (22:42 +0000)]
Merge "Clarify the semantics of put{Configuration,Operational}Data()"
Robert Varga [Mon, 3 Feb 2014 18:40:03 +0000 (19:40 +0100)]
Clarify the semantics of put{Configuration,Operational}Data()
This just adds documentation to how the put operations interact with
pre-existing data.
Change-Id: I01979df6a22f1a6d16c04c2cb0b97d7472d62040
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 3 Feb 2014 18:33:52 +0000 (19:33 +0100)]
Make sure transaction applies whole removal list
Change-Id: I53d1cf10bce6e444f80b13d9ce57e5f1ef2eb5c9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 3 Feb 2014 18:20:36 +0000 (19:20 +0100)]
Fixed bug when new childs were ommited during data store merge.
Change-Id: I0680d1354614d7597b0079445951d4a6f33d8d5c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Fri, 31 Jan 2014 09:31:46 +0000 (10:31 +0100)]
MD-SAL transaction chaining API
This API complements the normal MD-SAL transaction API. Applications can
use this API to maintain inter-transaction ordering and data
consistency.
Change-Id: Ia603f7dacf081fb1528d149f4635c2f22101a7a0
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 31 Jan 2014 15:31:05 +0000 (16:31 +0100)]
Restrict MD-SAL data operations to a single thread
MD-SAL does not give us transaction ordering guarantees, which mean that
data may hit the data store than what the application intended. Change
the model to single-threaded until proper transaction ordering APIs are
defined.
Change-Id: I6c6375480082b94c614ab2602a2857e0f4779ee8
Signed-off-by: Robert Varga <rovarga@cisco.com>