Robert Varga [Mon, 16 Mar 2015 18:42:26 +0000 (19:42 +0100)]
BUG-2673: deprecate ListenerNode,Tree and Walker
All of these have been superseded by RegistrationTree and related
classes. Those should offer better performance due to not instantiating
intermediate Optional nodes when searching for nodes.
Change-Id: I1e16bcb045ca5c97ca7f245e44d94d133bbf4eac
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 17 Mar 2015 14:58:37 +0000 (15:58 +0100)]
Bug 868: Introduced DOM ForwardingSession utility classes.
Introduced DOM ForwardingSession abstract classes,
in order to migrate AAA from CompositeNode interfaces,
since they were using it only to forward calls to backing
implementation.
Change-Id: If5ed1a5dadc02c0d7433fd9652a4af9b586a9be7
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 17 Mar 2015 11:30:27 +0000 (11:30 +0000)]
Merge "BUG-2673: make IMDS implement DOMStoreTreeChangePublisher"
Tony Tkacik [Tue, 17 Mar 2015 11:28:27 +0000 (11:28 +0000)]
Merge "BUG-2673: Introduce AbstractDOMStoreTreeChangePublisher"
Tony Tkacik [Tue, 17 Mar 2015 11:27:43 +0000 (11:27 +0000)]
Merge "BUG-2673: Create AbstractRegistrationTree and related classes"
Robert Varga [Mon, 16 Mar 2015 17:54:39 +0000 (18:54 +0100)]
BUG-2673: make IMDS implement DOMStoreTreeChangePublisher
This patch makes use of the AbstractDOMStoreTreeChangePublisher to do all
the registration wrangling and forwards all notifications towards a
dedicated publisher. Notifications are offloaded to the background
executor, just as normal DataChangeNotifications are. This initial
implementation does not close the registration listener race also
present in the data change notifications, as the notification manager
lacks the APIs to do that.
Change-Id: I36220b52a7a67df1f340b2b8bf32918de025920b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 16 Mar 2015 12:21:24 +0000 (13:21 +0100)]
BUG-2673: Introduce AbstractDOMStoreTreeChangePublisher
This is a base class, reusable for various DOMStore implementations,
which want to implement the DOMStoreTreeChangePublisher interface.
Change-Id: I77f2488f3b99d9e9e34c97772df5a157c245f8c7
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 16 Mar 2015 09:41:44 +0000 (10:41 +0100)]
BUG-2673: Create AbstractRegistrationTree and related classes
This is a generalization of ListenerTree, useful for reusing the
infrastructure for multiple types of registrations.
Change-Id: I715b876d932d0a14ab9a479b1f1d39509a67e30b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 12 Mar 2015 11:04:09 +0000 (11:04 +0000)]
Merge "Quick fix nullable RPC input"
Tony Tkacik [Wed, 11 Mar 2015 19:27:13 +0000 (19:27 +0000)]
Merge "Remove duplicate dependency declarations"
Vaclav Demcak [Wed, 11 Mar 2015 15:06:10 +0000 (16:06 +0100)]
Quick fix nullable RPC input
* DOMRpcService is declaring a method invokeRpc like
invokeRpc(@Nonnull SchemaPath type, @Nullable NormalizedNode<?, ?> input)
* add check to null for input in BindingRpcImplementationAdapter and
BindingDOMRpcImplementationAdapter because they are trying to deserialze
input automaticly withou any null check before. It produces next exception
for nopayload rpc:
at com.google.common.base.Preconditions.checkState(Preconditions.java:158)
at org.opendaylight.yangtools.binding.data.codec.impl.ContainerNodeCodecContext
.dataFromNormalizedNode(ContainerNodeCodecContext.java:23)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry
.fromNormalizedNodeRpcData(BindingNormalizedNodeCodecRegistry.java:197)
at org.opendaylight.controller.md.sal.binding.impl.BindingRpcImplementationAdapter
.deserilialize(BindingRpcImplementationAdapter.java:79)
at org.opendaylight.controller.md.sal.binding.impl.BindingRpcImplementationAdapter
.invokeRpc(BindingRpcImplementationAdapter.java:69)
Change-Id: I3970564b9645473eee6c01ab1ea632f323de959a
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
Robert Varga [Wed, 11 Mar 2015 09:59:11 +0000 (10:59 +0100)]
BUG-1513: migrate users to ChoiceSchemaNode
This migrates all users to the new interface name, cleaning them up as
the data.api and model.api name clash is resolved.
Change-Id: Ibdc317d5ff86c6a895cccdacf6dfea1fb005d9b6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Mar 2015 08:52:48 +0000 (09:52 +0100)]
Remove duplicate dependency declarations
These are declared twice, producing a maven warning. Remove duplicities.
Change-Id: Ica73b9220c5815e45591cd1d4a7600b432adee5d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 11 Mar 2015 06:13:38 +0000 (06:13 +0000)]
Merge "Bug 2412: Expose Mountpoints on proper path"
Tony Tkacik [Wed, 11 Mar 2015 06:12:48 +0000 (06:12 +0000)]
Merge "Bug 2364: Migrated Binding MD-SAL to not use composites nodes"
Maros Marsalek [Tue, 10 Mar 2015 16:14:08 +0000 (17:14 +0100)]
Bug 2412: Expose Mountpoints on proper path
Lists such as topology, node were not doubled
in the YANG Instance Identifier used as a key for mountpoints,
which prevented Binding compontents from accessing
them.
This patch fixes also bug in restconf, which was
also producing incorrect instance identifiers.
Change-Id: I3122163d00d4c23fcccc4bbffdf3d0113744c98d
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Tony Tkacik [Sun, 8 Mar 2015 15:30:27 +0000 (16:30 +0100)]
Bug 2364: Migrated Binding MD-SAL to not use composites nodes
Bidning MD-SAL is fully migrated to be adapter on top
of NormalizedNode MD-SAL. This migration once all legacy
classes are removed will provide easier-to-read more
maintanable code of Binding MD-SAL.
Change-Id: I1df6cda4bd6035ac5e01e1285f8aab4201dcc86d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Maros Marsalek [Fri, 6 Mar 2015 13:37:57 +0000 (14:37 +0100)]
Migrate users of AnyXml node to DOMSource
AnyXml node used to wrap Node<?> but now wraps a DOMSource
Change-Id: If4f5845e5a0611d5fe38951dd6afe73d0a6f95bc
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Jan Hajnar [Tue, 17 Feb 2015 15:47:54 +0000 (16:47 +0100)]
Bug 2578 - Added Binding Adapters for new Notification Broker
Implement and integrate Binding to DOM Notification adapters
* implemented forwarded notification broker
* added simple test for forwarded notification broker
* added configuration of new modules and services to md-sal config
Change-Id: I259c971f0dc61bc1b00cbaad2956c3d8b37ff780
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Tony Tkacik [Wed, 4 Mar 2015 09:17:20 +0000 (09:17 +0000)]
Merge changes Ida315250,I90171a8b
* changes:
BUG-2637: migration final - cleanup
BUG-2637: migration consequence - fix unit test
Michal Rehak [Tue, 3 Mar 2015 13:08:01 +0000 (14:08 +0100)]
BUG-2637: migration consequence - fix unit test
- fixed unit test in sal-binding-broker
- temporary fix of toaster-it
Change-Id: I90171a8b1d15cde70946a95c8246f34f0e255f35
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Tony Tkacik [Tue, 3 Mar 2015 09:16:38 +0000 (09:16 +0000)]
Merge "Exception when creating new DOMNotificationRouter"
Jan Hajnar [Thu, 26 Feb 2015 13:49:41 +0000 (14:49 +0100)]
Exception when creating new DOMNotificationRouter
* method after(eventHandler) was called on EventHandler that was not started.
* added missing disruptor.handleEventsWith() call before handler chaining
setup
documentation for 'after()' method:
https://lmax-exchange.github.io/disruptor/docs/index.html
class Disruptor, method after()
Change-Id: Icb5390114000d3f1bf1ea4096263ded633d9f123
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Robert Varga [Mon, 23 Feb 2015 22:56:38 +0000 (23:56 +0100)]
Fix a race in PingPong transaction scheduling
We have failed to re-check inflighTx after taking the lock, which meant
that completion and readiness may have raced resulting in warnings about
transaction being submitted while there are others in-flight.
Fix also the shutdown case, which could trigger an unexpected warnings
if there is an inflight transaction.
Change-Id: Ie3a3845335754860a831070d5a73dbc9a4d67d3c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 24 Feb 2015 09:36:11 +0000 (09:36 +0000)]
Merge "Sharded implementation of DOMDataTreeService"
Robert Varga [Thu, 12 Feb 2015 14:09:54 +0000 (15:09 +0100)]
Sharded implementation of DOMDataTreeService
This patch adds a simplistic implementation of a DOMDataTreeService and
a DOMDataTreeShardingService.
Change-Id: Ibb76c99d0fa842b1034a2b747c4ec57816f99c7d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 24 Feb 2015 08:27:55 +0000 (08:27 +0000)]
Merge "Make DOMDataTreeIdentifier implement Comparable"
Tony Tkacik [Tue, 24 Feb 2015 08:27:33 +0000 (08:27 +0000)]
Merge "Pass down a collection of cohorts"
Robert Varga [Mon, 23 Feb 2015 21:45:52 +0000 (22:45 +0100)]
Make DOMDataTreeIdentifier implement Comparable
We can easily define total ordering on this class, which is useful for
maintaining order so that we can find the longest-prefix match easily by
iterating over the keys in the natural ordering.
Change-Id: Ie2f83ea494fe278df4acc1cb6059dae440ef8f37
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Feb 2015 17:30:31 +0000 (18:30 +0100)]
Pass down a collection of cohorts
Rather than using an iterable, use a Collection. This saves a bit of
code and makes the size available wherever the collection goes.
Change-Id: I7ab9fa594676c221c8a4a0b3e227625af462c338
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Mon, 23 Feb 2015 18:42:41 +0000 (18:42 +0000)]
Merge "Bug 2673: Binding cursor-based data change API"
Tony Tkacik [Mon, 23 Feb 2015 11:12:25 +0000 (11:12 +0000)]
Merge "DOMDataTree APIs"
Tony Tkacik [Mon, 23 Feb 2015 10:43:45 +0000 (10:43 +0000)]
Merge "Migrate deprecated guava methods"
Robert Varga [Thu, 5 Feb 2015 17:30:28 +0000 (18:30 +0100)]
DOMDataTree APIs
This patch introduces the end-user visible API model for interacting
with the conceptual data tree. Unlike our previous APIs, these revolve
around applications explicitly binding their inputs (former data change
listeners) and outputs (former explicit writes). This allows efficient
inter-datastore interactions to be maintained by understanding what
sort of output applications make and what sort of indexes are required
to feed them the data they require. Beryllium evolution will see the
DOMDataTreeListener being subscribed to an XQuery expression, thus
providing a dense definition of what data the applciation actually
extracts out of the subtree.
Change-Id: I11446ce7f8dbd7cf61540f72e463460b483ff15f
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Sat, 21 Feb 2015 05:09:23 +0000 (05:09 +0000)]
Merge "Revert "BUG-2637: migrate features""
Ed Warnicke [Sat, 21 Feb 2015 04:34:14 +0000 (04:34 +0000)]
Revert "BUG-2637: migrate features"
This reverts commit
300d247c3c68387bf0bed3fc9dd90558ebe01f3f.
300d247c3c68387bf0bed3fc9dd90558ebe01f3f broke because the flow-features were not migrated properly to openflowplugin.
Change-Id: I6502a93b10b4c5ee41d037da216092cdf003d17f
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Anil Vishnoi [Fri, 20 Feb 2015 20:01:18 +0000 (20:01 +0000)]
Merge "BUG-2637: migrate features"
Michal Rehak [Fri, 23 Jan 2015 21:12:26 +0000 (22:12 +0100)]
BUG-2637: migrate features
- remove migrated features
- integration test fix:
- commented out dependencies to models affected by migration
- adapted sal-binding-it in order not to push those models
into pax-exam context
- adapted sal-binding-broker-impl to use those models only in
test scope
- cleaned commented code/config
Change-Id: I8e09a7cd9ff9ba0f041abe1bf739be755aed3e8d
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Tom Pantelis [Thu, 19 Feb 2015 20:57:45 +0000 (20:57 +0000)]
Merge "Bug 2538: Remove redundant Augmentation checks and tests"
Tony Tkacik [Thu, 19 Feb 2015 17:09:32 +0000 (17:09 +0000)]
Merge "Bug 2682 - Switch sal-binding-dom-it to sal-test-model"
Michal Rehak [Thu, 19 Feb 2015 12:39:06 +0000 (13:39 +0100)]
Bug 2682 - Switch sal-binding-dom-it to sal-test-model
* Migration to sal-test-model
Change-Id: If46014ec4cc8b3311a7766bcb2cb9a61b9e71592
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Signed-off-by: Martin Bobak <mbobak@cisco.com>
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Robert Varga [Thu, 19 Feb 2015 10:16:54 +0000 (11:16 +0100)]
Migrate deprecated guava methods
sameThreadExecutor() has been deprecated, use its replacement instead.
Change-Id: Icf1fed34977bd64393f48fe9e9829bee7f7db846
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 19 Feb 2015 08:15:32 +0000 (08:15 +0000)]
Merge "Initial message bus implementation"
Robert Varga [Sat, 7 Feb 2015 21:55:46 +0000 (22:55 +0100)]
Initial message bus implementation
This patch follows up on the API definition and builds a simple
implementation.
Change-Id: Ic128538a02d71a40ea44efe53f3c4b4503c068ac
Signed-off-by: Robert Gallas <rgallas@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 18 Feb 2015 09:31:01 +0000 (09:31 +0000)]
Merge "BUG-2573: mark CompositeNode-based RPC APIs obsolete"
Robert Varga [Mon, 16 Feb 2015 08:46:53 +0000 (09:46 +0100)]
Migrate to MoreObjects.ToStringHelper
Objects.ToStringHelper has been deprecated and moved to MoreObjects.
Adjust to this change.
Change-Id: Ibcaaebfe8e2cbbd77e624a53fc153d857b373a81
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 16 Feb 2015 13:50:42 +0000 (14:50 +0100)]
Bug 2673: Binding cursor-based data change API
Introduced Binding cursor-based data change API,
which provides more low-level access to change events,
but allows for more effective processing of
data change events.
Change-Id: I6193a4175fef85045a71cf9363bd46ba6297248c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Mon, 2 Feb 2015 17:36:30 +0000 (18:36 +0100)]
BUG-2573: mark CompositeNode-based RPC APIs obsolete
With the advent of the NormalizedNode-based APIs, the users should be
moving towards implementation of those.
This is a placeholder, to be merged once a reference implementation is
available.
Change-Id: I7e321861d5100554dfde30c31ed47e585573be0a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Fri, 13 Feb 2015 09:30:12 +0000 (09:30 +0000)]
Merge "BUG-2573: create DOMRpcRouter"
Tony Tkacik [Fri, 13 Feb 2015 09:16:37 +0000 (09:16 +0000)]
Merge "BUG-2573: add NormalizedNode-based RPC API"
Tony Tkacik [Thu, 12 Feb 2015 17:14:31 +0000 (17:14 +0000)]
Merge "BUG-2673: Introduced new more low-level DOM Data Change APIs"
Tony Tkacik [Thu, 12 Feb 2015 16:53:24 +0000 (16:53 +0000)]
Merge "BUG-1511 - Datastore: cleanup ListenerTreeAPI"
Robert Varga [Thu, 21 Aug 2014 12:54:37 +0000 (14:54 +0200)]
BUG-1511 - Datastore: cleanup ListenerTreeAPI
- split ListenerTree two static inner classes to ListenerWalker and ListenerNode
- fix refences [ResolvedDataChangeState]
- improve performance of ListenerWalker.close()
Change-Id: Ide82bc6caeaca1aa5c9080f134d570cf7a1571d6
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 27 Jan 2015 14:05:38 +0000 (15:05 +0100)]
BUG-2673: Introduced new more low-level DOM Data Change APIs
As it turned out abstraction provided by Helium Data Change
API was CPU costly and calculated lot of unnecessary data,
and did not provide necessary navigation for some use-cases.
This new API contract defines more low-level data change
APIs, where application is more in control, how it will
process / consume / decompose Data Change by providing
DataTreeCandidate.
Change-Id: I468c9583c7999bc02101a18a8adf5dc1a084f1d9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Kiran Sreenivasa [Mon, 26 Jan 2015 22:08:36 +0000 (14:08 -0800)]
Bug 2538: Remove redundant Augmentation checks and tests
Change-Id: Ifa19661df9d3ba9cc8b93e0203bb760b792d8689
Signed-off-by: Kiran Sreenivasa <kkoushik@brocade.com>
Tony Tkacik [Tue, 10 Feb 2015 21:06:08 +0000 (21:06 +0000)]
Merge "Fix missing log argument"
Tony Tkacik [Tue, 10 Feb 2015 21:01:02 +0000 (21:01 +0000)]
Merge "BUG-2288: implement DOMNotificationRouter"
Robert Varga [Thu, 5 Feb 2015 19:11:09 +0000 (20:11 +0100)]
BUG-2573: create DOMRpcRouter
This patch provides a default implementation of DOMRpc(Provider)Service.
The implementation is geared heavily towards steady state, e.g. so that
invocations are fast.
Change-Id: Icb50ae097aebb5e798177625e04ed9befc7337d4
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 2 Feb 2015 13:46:16 +0000 (14:46 +0100)]
BUG-2573: add NormalizedNode-based RPC API
This API introduces a NormalizedNode-based API for invoking RPCs,
supplanting the CompositeNodes-based one.
Change-Id: I256f83e80fc4a7d169bbfb60c5738ca489d16aeb
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 9 Dec 2014 14:09:59 +0000 (15:09 +0100)]
BUG-2288: implement DOMNotificationRouter
Implements DOMNotification(Publish)Service using LMAX Disruptor. The
disruptor is used internallly to transfer requests from publishers to
two-stage notification dispatch, where the frist stage takes care of
delivering events to subscribers and the second stage notifies the
futures.
Change-Id: I654d9d044e80b2a2ff6fd5b05ddceed4e79a4ebc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sat, 7 Feb 2015 20:17:06 +0000 (21:17 +0100)]
Fix missing log argument
Logging format indicates an argument, but it is missing in the method
arguments.
Change-Id: I961088d5534370227e741ee0b1ff9651fbcd3335
Signed-off-by: Robert Varga <rovarga@cisco.com>
Michal Rehak [Thu, 5 Feb 2015 11:31:15 +0000 (12:31 +0100)]
BUG-2681: switch sal-binding-it to sal test models
- switched to test models:
- DataServiceTest
- RoutedServiceTest (unregister path verification failing)
- Notification Test
Change-Id: I381fd9ad9682f9527bdf8276fae6eb508f0807f7
Signed-off-by: Michal Rehak <mirehak@cisco.com>
Tony Tkacik [Thu, 5 Feb 2015 09:57:50 +0000 (09:57 +0000)]
Merge "BUG-2288: remove DOMNotificationListenerRegistration"
Tony Tkacik [Thu, 5 Feb 2015 09:54:45 +0000 (09:54 +0000)]
Merge "Make sure write transaction cancellation is propagated"
Robert Varga [Wed, 4 Feb 2015 14:18:37 +0000 (15:18 +0100)]
BUG-2288: remove DOMNotificationListenerRegistration
This type is just a capture, and it fails to forward the type of the
listener properly for users. Remove it and be more consistent with the
design of other classes.
Change-Id: Ib8c3db54fc599d6ca194d1667e1a48a98e455180
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ed Warnicke [Tue, 3 Feb 2015 22:18:21 +0000 (15:18 -0700)]
Add features-restconf to mdsal-artifacts
Change-Id: I1919153b372d2b7323fb1179ad04f9d3a491b29f
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Robert Varga [Tue, 27 Jan 2015 17:15:20 +0000 (18:15 +0100)]
Make sure write transaction cancellation is propagated
DOMForwardedWriteTransaction needs to notify subtransactions about
cancellation, as otherwise they will remain logically open and
potentially lost.
Change-Id: I15d926979fe181c60de65f44102b75513fd22dfc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 27 Jan 2015 11:00:37 +0000 (12:00 +0100)]
Migrate AbstractRuntimeCodeGenerator to new ClassLoaderUtils
Change the import so we use the non-deprecated version. Also fix
exception string formatting.
Change-Id: Ibf710c8b59d633609c5f557604882034b63f4505
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 26 Jan 2015 08:51:18 +0000 (08:51 +0000)]
Merge changes I880310f2,I9f437328,I552372db,I587fb203,I05f0bd94, ...
* changes:
Do not leak AtomicLong from FollowerLogInformation
Remove followers as an explicit field
Hide AbstractLeader maps
Hide internals of FollowerLogInformationImpl
Speedup AbstractLeader.printFollowerStates()
Improve RpcInvocationStrategy performance
Robert Varga [Fri, 23 Jan 2015 08:02:29 +0000 (09:02 +0100)]
Improve RpcInvocationStrategy performance
As it turns out, the transformation function can easily be shared,
reducing the amount of objects we create.
Change-Id: I76c86e2f0c63e87c87677ac739f980a5e7929d3f
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 15 Jan 2015 15:49:44 +0000 (15:49 +0000)]
Merge "Bug 2358: Removed unused Hydrogen Data Store leftovers"
Robert Varga [Sat, 8 Nov 2014 10:48:47 +0000 (11:48 +0100)]
BUG-2288: binding Notification API
This is the definition of the new interfaces required to expose the new
DOM notification API to the users. It uses only the typed actor pattern,
reducing overall confusion to end users.
Change-Id: I12f14c1fa931511aa7b73d3b0491f848d6c08ba7
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 15 Jan 2015 11:31:57 +0000 (12:31 +0100)]
Bug 2358: Removed unused Hydrogen Data Store leftovers
Removed unused legacy code, which just increases complexity of code,
is not used and will be not used, since better solution exists
and was in place in Helium.
Change-Id: Ie58033d34ef3fcc7419db9ed9bce548b32fa24fd
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 15 Jan 2015 10:12:10 +0000 (10:12 +0000)]
Merge "Fix a race PingPongTransactionChain"
Ed Warnicke [Mon, 12 Jan 2015 01:02:35 +0000 (19:02 -0600)]
Removed deprecated methods from BindingAwareProvider
Also deprecated
BindingAwareBroker.registerConsumer(BindingAwareConsumer,BundleContext)
in favor of the newly added:
BindingAwareBroker.registerConsumer(BindingAwareConsumer)
and
BindingAwareBroker.registerProvider(BindingAwareProvider,BundleContext)
in favor of the newly added:
BindingAwareBroker.registerProvider(BindingAwareProvider)
Change-Id: Id256c81a7210640b9a493a3f0fc71a9e0379e317
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Robert Varga [Mon, 12 Jan 2015 15:52:00 +0000 (16:52 +0100)]
Fix a race PingPongTransactionChain
As it turns out, we have made an illegal shortcut while readying a transaction. This results in the following exception,
which occurs if we happen to want to allocate a transaction while it is being submitted to backed.
Exception in thread "Thread-18" java.lang.IllegalStateException: Previous transaction DOM-OPER-9 is not ready yet
at com.google.common.base.Preconditions.checkState(Preconditions.java:176)
at org.opendaylight.controller.md.sal.dom.store.impl.DOMStoreTransactionChainImpl$Allocated.getSnapshot(DOMStoreTransactionChainImpl.java:68)
at org.opendaylight.controller.md.sal.dom.store.impl.DOMStoreTransactionChainImpl.getSnapshot(DOMStoreTransactionChainImpl.java:111)
at org.opendaylight.controller.md.sal.dom.store.impl.DOMStoreTransactionChainImpl.newReadWriteTransaction(DOMStoreTransactionChainImpl.java:131)
at org.opendaylight.controller.md.sal.dom.broker.impl.AbstractDOMForwardedTransactionFactory.newReadWriteTransaction(AbstractDOMForwardedTransactionFactory.java:206)
at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.slowAllocateTransaction(PingPongTransactionChain.java:128)
at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.allocateTransaction(PingPongTransactionChain.java:145)
at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.newReadWriteTransaction(PingPongTransactionChain.java:279)
at org.opendaylight.controller.md.sal.dom.broker.impl.PingPongTransactionChain.newWriteOnlyTransaction(PingPongTransactionChain.java:310)
at org.opendaylight.controller.md.sal.binding.impl.BindingTranslatedTransactionChain.newWriteOnlyTransaction(BindingTranslatedTransactionChain.java:77)
at org.opendaylight.protocol.bgp.rib.impl.RIBImpl$1.run(RIBImpl.java:125)
at java.lang.Thread.run(Thread.java:745)
Change-Id: Ie21cf5f0ebba79fa25358da2ee1e6b22cfb0f906
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 8 Jan 2015 13:23:40 +0000 (13:23 +0000)]
Merge "Optimize inflight transitions"
Tony Tkacik [Thu, 8 Jan 2015 13:23:33 +0000 (13:23 +0000)]
Merge "Remove lock out of the congested/reuse case"
Robert Varga [Mon, 24 Nov 2014 23:49:51 +0000 (00:49 +0100)]
Optimize inflight transitions
Change-Id: Iaab4941ab777eaef1068523fc055391d31ca3072
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 24 Nov 2014 23:04:34 +0000 (00:04 +0100)]
Remove lock out of the congested/reuse case
Reusing a transaction is a simple state transition inside the chain,
which helps the system throughput, since more changes will be packed in
a single transaction.
This patch optimizes this reuse as a fast path which is performed
without taking the lock on the assumption that this will allow better
code movement.
Change-Id: Idd8ba65c0d45c7ceea42d50ea3a6a521e0123733
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 7 Jan 2015 10:40:40 +0000 (11:40 +0100)]
Do not pull in xtend-lib-osgi
There is no need for the xtend bundle, as yangtools does not rely on
xtend being on classpath anymore. Also eradicate references to xtend
annotation and utility classes.
Change-Id: Iba61200f1af88b4bfd4165d38284d7ddbcac70b5
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 7 Jan 2015 10:35:40 +0000 (10:35 +0000)]
Merge "Model dom-broker statistics"
Tony Tkacik [Wed, 7 Jan 2015 10:35:26 +0000 (10:35 +0000)]
Merge "Move ConcurrentDOMDataBroker to clustered-datastore"
Robert Varga [Tue, 25 Nov 2014 11:39:53 +0000 (12:39 +0100)]
Model dom-broker statistics
This adds a model of statistics, reusing proper types where possible.
Change-Id: Iae5004df1eee6b2989cab5894173a38ccc96f1bc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 24 Nov 2014 16:15:11 +0000 (17:15 +0100)]
Move ConcurrentDOMDataBroker to clustered-datastore
The concurrent data broker is only useful for the distributed datastore,
so move it along with the configuration binding there. Fixes the
potential for users to misconfigure their datastore.
Change-Id: I145c42ac64427db43889872abe06dd84bf751484
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Fri, 19 Dec 2014 15:44:44 +0000 (15:44 +0000)]
Merge "BUG-1382: do not instantiate prefixed QNames"
Robert Varga [Tue, 16 Dec 2014 12:41:26 +0000 (13:41 +0100)]
BUG-1382: do not instantiate prefixed QNames
Prefix-aware QName constructor is going away, do not use it. Also fix
all references to QName.getPrefix().
Change-Id: Ife6567a269c2db16019ae97a6eace74a19ac3b23
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 18 Dec 2014 14:13:12 +0000 (14:13 +0000)]
Merge "BUG-2288: DOMNotification API"
Tony Tkacik [Mon, 15 Dec 2014 15:07:09 +0000 (15:07 +0000)]
Merge "Remove throws declaration of a runtime exception"
Tony Tkacik [Mon, 15 Dec 2014 11:42:32 +0000 (11:42 +0000)]
Merge "Shorten org.opendaylight.controller.sal.core.api.Broker.RoutedRpcRegistration"
Tony Tkacik [Mon, 15 Dec 2014 11:37:34 +0000 (11:37 +0000)]
Merge "Registry instance cannot be null in RpcProxyRegistration"
Tony Tkacik [Mon, 15 Dec 2014 11:37:25 +0000 (11:37 +0000)]
Merge "Do not instantiate FluentIterable"
Robert Varga [Sun, 14 Dec 2014 18:18:40 +0000 (19:18 +0100)]
Remove throws declaration of a runtime exception
IllegalStateException is a RuntimeException -- hence we do not need to
declare it.
Change-Id: I681eff319b299beecf7710c44f154c1bb1b5174a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 14 Dec 2014 17:38:56 +0000 (18:38 +0100)]
Shorten org.opendaylight.controller.sal.core.api.Broker.RoutedRpcRegistration
We can safely import the class, shortening references to it.
Change-Id: I41d5ca29f1dd4daff726d3598c1bf14732318752
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 14 Dec 2014 17:21:25 +0000 (18:21 +0100)]
Registry instance cannot be null in RpcProxyRegistration
removeRegistration() is guaranteed to be invoked at most once, and
registry cannot be null. Make it final and remove the safety check.
Change-Id: Ie8f2da7430c076d0bec71eb8b58a4adc2af25adf
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 14 Dec 2014 17:16:50 +0000 (18:16 +0100)]
Do not instantiate FluentIterable
We are performing an immediate transformation of the iterrable.
Instead of that we can immediately use Collections2.transform(), saving
an object.
Change-Id: Ie943a0a79e04713427bf6470e06d921412ebb179
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 15 Dec 2014 07:57:53 +0000 (07:57 +0000)]
Merge topic 'stable/helium'
* changes:
Shorten YangInstanceIdentifier references
BUG-2510: handle RPC route removal
Tony Tkacik [Mon, 15 Dec 2014 07:56:57 +0000 (07:56 +0000)]
Merge "BUG-2510: Remove all registrations when a routed rpc is closed"
Tony Tkacik [Mon, 15 Dec 2014 07:51:25 +0000 (07:51 +0000)]
Merge "Mark DomBrokerImplModule.createLegacyDataService() as deprecated"
Tony Tkacik [Mon, 15 Dec 2014 07:51:15 +0000 (07:51 +0000)]
Merge "BUG-2500: add current tree state to traces"