controller.git
9 years agoBug 2265: Address comments from 12448 10/14510/1
tpantelis [Wed, 21 Jan 2015 22:44:19 +0000 (17:44 -0500)]
Bug 2265: Address comments from 12448

Address comments from https://git.opendaylight.org/gerrit/#/c/12448/:

- CanCommitTransactionReply: "you could have used a CONSTANT here
YES_SERIALIZED, NO_SERIALIZED. Or even completely eliminating the
serializedMessage field"

- MergeData: "We could have use SERIALIZABLE_CLASS.isInstance(message)
here and in lot of other places where we are checking the message
type with equals now."

Change-Id: I8248fb739b45a9ad4795b355f3b4ef9291e99791
Signed-off-by: tpantelis <tpanteli@brocade.com>
9 years agoUse Maven Enforcer plugin to require Maven version 20/14220/2
Thanh Ha [Mon, 19 Jan 2015 03:22:56 +0000 (22:22 -0500)]
Use Maven Enforcer plugin to require Maven version

Using the <prerequisites> configuration in pom files is deprecated and
it is recommended to use the maven-enforcer-plugin to enforce these
rules instead.

See:
http://jira.codehaus.org/browse/MNG-5297
http://jira.codehaus.org/browse/MNG-4840

Bug: 2605
Change-Id: Ia0be6681bfac19d3a49917e172e32a26ac8e5933
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoMore unit test code coverage for NormalizedNodeStreamReader/Writer 36/14336/3
tpantelis [Sun, 18 Jan 2015 19:29:11 +0000 (14:29 -0500)]
More unit test code coverage for NormalizedNodeStreamReader/Writer

Change-Id: Id93186bb8de8dd7fadb4a53679f964697bd45e3c
Signed-off-by: tpantelis <tpanteli@brocade.com>
9 years agoMerge changes Iae061558,I786a2e74,I10c38ca2
Moiz Raja [Sun, 25 Jan 2015 23:17:45 +0000 (23:17 +0000)]
Merge changes Iae061558,I786a2e74,I10c38ca2

* changes:
  Use ImmutableSet in ShardManager
  Lower Shard.DEFAULT_NAME visibility
  Clarify DistributedDataStoreFactory

9 years agoMerge "Speed up ClusterWrapperImpl"
Moiz Raja [Sun, 25 Jan 2015 20:11:17 +0000 (20:11 +0000)]
Merge "Speed up ClusterWrapperImpl"

9 years agoMerge "Bug 2327: Handle binary data in NormalizedNode streaming"
Moiz Raja [Sun, 25 Jan 2015 19:58:35 +0000 (19:58 +0000)]
Merge "Bug 2327: Handle binary data in NormalizedNode streaming"

9 years agobug 2616 - NPE in ControllerContext.toQName method 26/14326/2
Vaclav Demcak [Wed, 21 Jan 2015 09:55:14 +0000 (10:55 +0100)]
bug 2616 - NPE in ControllerContext.toQName method

Method works with globalSchema property without validation and somtimes it could be null.

- add a missing check method call for toQName method
- add a missing check method call for collectPathArguments method (mountpoint - line 549)

Change-Id: I4a568bbeb54720592ef42990d7dcd430df170c12
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
9 years agoBug 2265: Use new NormalizedNode streaming in messages 48/12448/19
tpantelis [Mon, 19 Jan 2015 03:21:46 +0000 (22:21 -0500)]
Bug 2265: Use new NormalizedNode streaming in messages

    Utilized the new NormalizedNode streaming classes for the WriteData,
    MergeData, ReadDataReply and DataChanged messages.

    One solution was to add a bytes field to the protobuff messages and
    make the previous fields optional. For backwards compatibility, in
    the wrapper message's fromSerializable method, check whether or not
    the protobuff message has the bytes field and act accordingly.

    While this works, it results in an undesirable inefficiency.
    Protobuff translates the bytes field to a ByteString type. So when
    streaming, we need to create a ByteArrayOutputStream and pass that to
    the NormalizedNode stream writer. Then call
    ByteString.copyFrom(bos.toByteArray) to get the resulting ByteString.
    However this results in 2 copies of the serialized byte[]. The
    byte[] cannot be passed to ByteString as is as it always copies it to
    maintain immutability. I looked into subclassing ByteString and
    lazily streaming the data on demand but the ByteString ctor is
    package scoped so they don’t allow subclassing.

    So I went with an approach to make each message Externalizable
    instead of using protobuff. The classes writes
    the version number to enable us to handle compatibility in the future.
    So in this manner, we can get the efficient direct streaming we
    want and easily handle backwards and forwards compatibility.

    I added a VersionedSerializableMessage interface whose
    toSerializable method takes a version number. The version # is passed
    from the remote version # obtained from the CreateTransactionReply.
    This allows the message classes to handle backwards compatibility. So
    if the version is Helium-1 or less, send the protobuff message
    otherwise send the Externalizable instance.

    In the fromSerializable method, it checks if the passed Object is an
    instance of the Externalizable class or the protbuff message type.

Change-Id: I5ebb968e70ac8ff92c29183c52e6c3fe5362ae34
Signed-off-by: tpantelis <tpanteli@brocade.com>
9 years agoMerge "Fixed bug in generated artifactId for ${artifactId}-karaf"
Moiz Raja [Wed, 21 Jan 2015 01:23:22 +0000 (01:23 +0000)]
Merge "Fixed bug in generated artifactId for ${artifactId}-karaf"

9 years agoFix typo in 05-clustering.xml file 69/14469/1
tpantelis [Wed, 21 Jan 2015 00:45:46 +0000 (19:45 -0500)]
Fix typo in 05-clustering.xml file

The 05-clustering.xml file fails to load - in the capabilities section
"distributed-datastore-privider" should be
"distributed-datastore-provider".

Change-Id: I28082e8a658bbb6e04714da5346d08e33678d6a4
Signed-off-by: tpantelis <tpanteli@brocade.com>
9 years agoFixed bug in generated artifactId for ${artifactId}-karaf 10/14310/1
Ed Warnicke [Tue, 20 Jan 2015 19:25:58 +0000 (12:25 -0700)]
Fixed bug in generated artifactId for ${artifactId}-karaf

Change-Id: I754a7804a2cc3c9ef2b19f29b313034517462ab4
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoMerge "Added sun.misc to jre.properties"
Tony Tkacik [Tue, 20 Jan 2015 18:04:31 +0000 (18:04 +0000)]
Merge "Added sun.misc to jre.properties"

9 years agoMerge "BUG 2585 : Make Election Timeout Factor configurable"
Tom Pantelis [Tue, 20 Jan 2015 17:45:33 +0000 (17:45 +0000)]
Merge "BUG 2585 : Make Election Timeout Factor configurable"

9 years agoMerge "BUG 2586 : Disable operational persistence by default"
Tom Pantelis [Tue, 20 Jan 2015 17:43:56 +0000 (17:43 +0000)]
Merge "BUG 2586 : Disable operational persistence by default"

9 years agoMerge "Remove import-package instructions from netconf"
Tony Tkacik [Tue, 20 Jan 2015 16:16:43 +0000 (16:16 +0000)]
Merge "Remove import-package instructions from netconf"

9 years agoMerge topic 'archetype'
Tony Tkacik [Tue, 20 Jan 2015 15:05:37 +0000 (15:05 +0000)]
Merge topic 'archetype'

* changes:
  Fixed missing uses of ${artifactId} in urn
  Fixed copyrights in opendaylight-startup archetype

9 years agoRemove import-package instructions from netconf 87/14287/1
Maros Marsalek [Tue, 20 Jan 2015 13:32:54 +0000 (14:32 +0100)]
Remove import-package instructions from netconf

The instructuion set gets outdated, use default settings for import all to prevent startup failures.

Change-Id: I387dda9d823c6edc07bccde4f760acf0151093d4
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
9 years agoBUG-2283 Fix close order when reconfiguring config modules. 43/13343/13
Maros Marsalek [Wed, 3 Dec 2014 15:23:24 +0000 (16:23 +0100)]
BUG-2283 Fix close order when reconfiguring config modules.

Close is called from top(dependency source) to bottom(dependency target) while createInstance is called in opposite direction.

This commit changes API and SPI of config subsystem and thus breaks runtime compatibility.

Change-Id: I5b03f0673c5ecb95efbfccad7fa6ed7a490ff61b
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
9 years agoBUG 2585 : Make Election Timeout Factor configurable 58/14158/2
Moiz Raja [Thu, 15 Jan 2015 00:21:22 +0000 (16:21 -0800)]
BUG 2585 : Make Election Timeout Factor configurable

Keeping the Heartbeat interval small and increasing the timeout
factor allows us to skip a few heartbeats if neccessary without
causing Followers to become Candidates.

Simply increasing the heartbeat interval has the negative effect
of causing replication messages for out-of date followers to go
slower so making the election factor configurable will be helpful
in keeping the cluster state stable.

Change-Id: Iae8105d65bba4a37987bfddb9f22d9d4d862a1fd
Signed-off-by: Moiz Raja <moraja@cisco.com>
9 years agoMerge "Bug 2486: Get testAbortBeforeFinishCommit working again"
Moiz Raja [Tue, 20 Jan 2015 02:49:06 +0000 (02:49 +0000)]
Merge "Bug 2486: Get testAbortBeforeFinishCommit working again"

9 years agoMerge "Bug-2591 : Clustering: Shard does not notify a role change to Follower at...
Moiz Raja [Tue, 20 Jan 2015 02:32:47 +0000 (02:32 +0000)]
Merge "Bug-2591 : Clustering: Shard does not notify a role change to Follower at the start"

9 years agoFixed missing uses of ${artifactId} in urn 69/14269/1
Ed Warnicke [Tue, 20 Jan 2015 01:24:38 +0000 (18:24 -0700)]
Fixed missing uses of ${artifactId} in urn

Change-Id: I7a32ccacde21c79d961820807be388a0e3787ec5
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoFixed copyrights in opendaylight-startup archetype 62/14262/1
Ed Warnicke [Mon, 19 Jan 2015 20:23:02 +0000 (13:23 -0700)]
Fixed copyrights in opendaylight-startup archetype

Change-Id: I784a430046e48f38d73e3f5ed999e56f36bdedb1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoBug 2327: Handle binary data in NormalizedNode streaming 97/12797/5
tpantelis [Wed, 12 Nov 2014 22:09:15 +0000 (17:09 -0500)]
Bug 2327: Handle binary data in NormalizedNode streaming

Also made optimization improvements to reuse primitive (using valueOf) and coded String
values (using intern) when read from the stream.

Also added a reusable StringBuilder instance for building qnames. After
use, the StringBuilder is cleared via the delete method. This
effectively resets the char count to 0. Previously, the
code used string concatenation which the compiler will translate to use
an imlicit StringBuilder. These changes avoid the implicit creation of a
StringBuilder instance each time which should reduce object churn.

Change-Id: Ic9c745d97d1b5eed2dd24bc5d252d05ac1355cbb
Signed-off-by: tpantelis <tpanteli@brocade.com>
9 years agoMerge "findModule method refactoring"
Tom Pantelis [Sat, 17 Jan 2015 19:04:47 +0000 (19:04 +0000)]
Merge "findModule method refactoring"

9 years agoMerge "BUG 2593 : Fix flakiness in ShardManager ActorNotInitialized tests"
Tom Pantelis [Sat, 17 Jan 2015 19:01:19 +0000 (19:01 +0000)]
Merge "BUG 2593 : Fix flakiness in ShardManager ActorNotInitialized tests"

9 years agoBug 2486: Get testAbortBeforeFinishCommit working again 15/14215/1
tpantelis [Sat, 17 Jan 2015 17:27:31 +0000 (12:27 -0500)]
Bug 2486: Get testAbortBeforeFinishCommit working again

The previous patch for this bug caused the testAbortBeforeFinishCommit
to fail and was changed to Ignore. This patch gets the test to work
again.

Change-Id: Ie2b61c13f0547b058b7f80a61b2a969b3ba98754
Signed-off-by: tpantelis <tpanteli@brocade.com>
9 years agoMerge "BUG 2486 : Optimizations for a single node cluster deployment"
Tom Pantelis [Sat, 17 Jan 2015 17:17:52 +0000 (17:17 +0000)]
Merge "BUG 2486 : Optimizations for a single node cluster deployment"

9 years agoMerge "Fixed missing dependencies in netconf-netty-util."
Tony Tkacik [Fri, 16 Jan 2015 12:50:26 +0000 (12:50 +0000)]
Merge "Fixed missing dependencies in netconf-netty-util."

9 years agoMerge "Increase timeout in config pusher for conflicting version ex"
Tony Tkacik [Fri, 16 Jan 2015 12:49:55 +0000 (12:49 +0000)]
Merge "Increase timeout in config pusher for conflicting version ex"

9 years agoMerge "Remove dead code"
Tony Tkacik [Fri, 16 Jan 2015 12:05:59 +0000 (12:05 +0000)]
Merge "Remove dead code"

9 years agoMerge "Remove string concatenation in preconditions"
Tony Tkacik [Fri, 16 Jan 2015 12:05:40 +0000 (12:05 +0000)]
Merge "Remove string concatenation in preconditions"

9 years agoMerge "Make check methods static"
Tony Tkacik [Fri, 16 Jan 2015 12:05:30 +0000 (12:05 +0000)]
Merge "Make check methods static"

9 years agoMerge "Migrace is() to isA()"
Tony Tkacik [Fri, 16 Jan 2015 12:05:20 +0000 (12:05 +0000)]
Merge "Migrace is() to isA()"

9 years agoIncrease timeout in config pusher for conflicting version ex 21/14121/2
Maros Marsalek [Mon, 12 Jan 2015 09:00:27 +0000 (10:00 +0100)]
Increase timeout in config pusher for conflicting version ex

Change-Id: Ie03354ec464f7f3e43a1df236d948533386484e1
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
9 years agoBug-2591 : Clustering: Shard does not notify a role change to Follower at the start 52/14152/2
Kamal Rameshan [Wed, 14 Jan 2015 22:43:42 +0000 (14:43 -0800)]
Bug-2591 : Clustering: Shard does not notify a role change to Follower at the start

Change-Id: I8a1accbfa3e1e7ae23300382251c273d876f40ae
Signed-off-by: Kamal Rameshan <kramesha@cisco.com>
9 years agoMerge "Bug 2358: Removed unused Hydrogen Data Store leftovers"
Tony Tkacik [Thu, 15 Jan 2015 15:49:44 +0000 (15:49 +0000)]
Merge "Bug 2358: Removed unused Hydrogen Data Store leftovers"

9 years agoBUG-2288: binding Notification API 45/13445/12
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>
9 years agoBug 2358: Removed unused Hydrogen Data Store leftovers 67/14167/3
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>
9 years agoFixed missing dependencies in netconf-netty-util. 03/14103/2
Tomas Cere [Mon, 12 Jan 2015 11:33:32 +0000 (12:33 +0100)]
Fixed missing dependencies in netconf-netty-util.

Change-Id: I75a7d9c39d537abf3f64e9750f154b0b70484524
Signed-off-by: Tomas Cere <tcere@cisco.com>
9 years agoMerge "Fix a race PingPongTransactionChain"
Tony Tkacik [Thu, 15 Jan 2015 10:12:10 +0000 (10:12 +0000)]
Merge "Fix a race PingPongTransactionChain"

9 years agoRemove dead code 02/14102/2
Robert Varga [Mon, 12 Jan 2015 11:58:03 +0000 (12:58 +0100)]
Remove dead code

The moduleIdentity reference is checked for non-null in a preceding condition,
so the entire branch is provably dead. Also removes string
concatenation.

Change-Id: I8c2ad967af53a5216359677b8d7e3975294c942b
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoRemove string concatenation in preconditions 01/14101/2
Robert Varga [Mon, 12 Jan 2015 11:55:15 +0000 (12:55 +0100)]
Remove string concatenation in preconditions

Preconditions support String.format()-style arguments, the use of which
actually makes them faster, as the singular string need not be
constructed if it's not used.

Change-Id: Ib60bf458e2ef57df71fa6d2820af0110632cb37f
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMake check methods static 00/14100/2
Robert Varga [Mon, 12 Jan 2015 11:54:52 +0000 (12:54 +0100)]
Make check methods static

The check methods do not have to have access to the object, so make them
static, making the interactions a bit more clear.

Change-Id: I954fbfe95d727532c17a5bf20b5d9434da40d27f
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMigrace is() to isA() 99/14099/2
Robert Varga [Mon, 12 Jan 2015 11:55:32 +0000 (12:55 +0100)]
Migrace is() to isA()

The former is deprecated, so move to using the non-deprecated method.

Change-Id: I5b83e41e2c591fd3a742c64733e0205a60b08de5
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG 2593 : Fix flakiness in ShardManager ActorNotInitialized tests 64/14164/1
Moiz Raja [Thu, 15 Jan 2015 03:19:04 +0000 (19:19 -0800)]
BUG 2593 : Fix flakiness in ShardManager ActorNotInitialized tests

Change-Id: I5bd37c3e37fc2db50654ce0255f7c84dfd3872d6
Signed-off-by: Moiz Raja <moraja@cisco.com>
9 years agoMerge "Fix bug #2569 XSQL delay controller load when in cluster env"
Moiz Raja [Thu, 15 Jan 2015 01:49:04 +0000 (01:49 +0000)]
Merge "Fix bug #2569 XSQL delay controller load when in cluster env"

9 years agoBUG 2586 : Disable operational persistence by default 57/14157/1
Moiz Raja [Wed, 14 Jan 2015 23:56:56 +0000 (15:56 -0800)]
BUG 2586 : Disable operational persistence by default

Change-Id: I000be115a7cf21003fc240bbe60c213c70876db0
Signed-off-by: Moiz Raja <moraja@cisco.com>
9 years agoBUG 2486 : Optimizations for a single node cluster deployment 43/13943/3
Moiz Raja [Thu, 18 Dec 2014 02:44:07 +0000 (18:44 -0800)]
BUG 2486 : Optimizations for a single node cluster deployment

The Clustered DataStore maintains an in-memory journal which contains
a list of modifications that were made to the underlying in-memory
data store. In a system with many transactions this journal will grow
and use up a lot of memory. This is what happens when we have a high
frequency writer like StatisticsManager.

The whole reason for maintaining an in-memory journal is for replication.
Recovery for the most part requires only the disk journal.

Since memory used by the in-memory journal grows dramatically it needs
to be trimmed occasionally. We do this trimming via the snapshotting
mechanism which both trims the journal and creates a snapshot on disk.

When we do not have replication on, i.e there are no followers for a
Shard there is no need for us to maintain this in-memory journal. This
patch adds an optimization in the RaftActor where if a RaftActor(Shard)
has no followers any entry that is persisted to the journal is immediately
removed by snapshotting. However since the only reason we are snapshotting
is to trim the log we do not need to go through the usual snapshotting
mechanism which creates a serialized version of the state in in-memory
data store and then writes it to disk. So, this patch does a further
optimization by fake snapshotting. Fake snapshotting just increments the
snapshotIndex in the in-memory journal - this helps when occasionally
we do the real snapshotting.

When we have no replication and no persistence a further optimization
can be done which is to completely ignore writing (or) maintaining an
in-memory journal. This means that when a commit comes through we
immediately apply the modification made by that transaction to the
state.

With these optimizations in-place the memory usage of the controller is
well in-line with what one would see with the in-memory data store. The
performance will not quite be there because of the additional queues
and executors that a Clustered Data Store transaction has to go through.

Change-Id: I4db056e26ea48f342ec2c5a934a3ad15f52cca0f
Signed-off-by: Moiz Raja <moraja@cisco.com>
9 years agoWorking opendaylight-startup archetype 15/14115/4
Ed Warnicke [Mon, 12 Jan 2015 23:26:54 +0000 (17:26 -0600)]
Working opendaylight-startup archetype

Change-Id: I48b68884ccae84379fe9896ba9d660eea5cd37d6
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoRemoved deprecated methods from BindingAwareProvider 06/13806/12
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>
9 years agoFix bug in config-parent clean configuration 94/14094/2
Ed Warnicke [Mon, 12 Jan 2015 03:17:19 +0000 (21:17 -0600)]
Fix bug in config-parent clean configuration

Change-Id: I1866bfdc069d8c3d5f0f0c8990f08c727cfe64a1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoMerge "Optimize Capability.getLocation()"
Tony Tkacik [Mon, 12 Jan 2015 16:31:29 +0000 (16:31 +0000)]
Merge "Optimize Capability.getLocation()"

9 years agoMerge "Make sure NetconfTestImplModule is indented"
Tony Tkacik [Mon, 12 Jan 2015 16:31:09 +0000 (16:31 +0000)]
Merge "Make sure NetconfTestImplModule is indented"

9 years agoFix a race PingPongTransactionChain 06/14106/2
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>
9 years agoCancel transaction on failure in restconf 14/13714/3
Maros Marsalek [Wed, 17 Dec 2014 13:38:35 +0000 (14:38 +0100)]
Cancel transaction on failure in restconf

This allows for proper resource cleanup for e.g. remote netconf transaction

Change-Id: Ib072ca3497a363d1a813c2161f25d10c536c3614
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
9 years agofindModule method refactoring 79/9279/10
Jozef Gloncak [Thu, 24 Jul 2014 09:06:09 +0000 (11:06 +0200)]
findModule method refactoring

From method findModule() of RestconfImpl was removed original exception
because the case when data == null can't (before every call of findModule
is checked whether data != null)

New exception was added because just after calling of findModule() method
was always checked whether returning value is != null and if it was so the
exception was raised.

Change-Id: I7023ab50e06e6056bc312a2a702bac8bab48ef0a
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
9 years agoMerge "Fix compilation warnings: replace deprecated org.apache.felix classes"
Tom Pantelis [Fri, 9 Jan 2015 23:49:30 +0000 (23:49 +0000)]
Merge "Fix compilation warnings: replace deprecated org.apache.felix classes"

9 years agoAdded sun.misc to jre.properties 21/14021/1
Ed Warnicke [Fri, 9 Jan 2015 17:47:58 +0000 (11:47 -0600)]
Added sun.misc to jre.properties

Change-Id: I7a65f74a92e5c6a5b2b77f2503f6ca14814e70af
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoOptimize Capability.getLocation() 11/13411/13
Maros Marsalek [Fri, 9 Jan 2015 09:05:54 +0000 (10:05 +0100)]
Optimize Capability.getLocation()

Instead of wrapping a List in an Optional, return a Collection -- when
empty, it is the same thing as Optional.absent(). We can then optimize
some of the object allocations.

Change-Id: I040e1e80d9012c2809370accb89daf038c7cd2e4
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
9 years agoMerge "Fix compilation warnings: replace deprecated junit.framework.Assert"
Tom Pantelis [Thu, 8 Jan 2015 21:48:23 +0000 (21:48 +0000)]
Merge "Fix compilation warnings: replace deprecated junit.framework.Assert"

9 years agoFix bug #2569 XSQL delay controller load when in cluster env 06/14006/1
Sharon Aicler [Thu, 8 Jan 2015 19:01:35 +0000 (11:01 -0800)]
Fix bug #2569 XSQL delay controller load when in cluster env

Change-Id: I3507bf6106f49b9881fc02a0be8d4ec2db90dd28
Signed-off-by: Sharon Aicler <saichler@cisco.com>
9 years agoMerge "BUG-2560 Canonical write to remote netconf devices"
Tony Tkacik [Thu, 8 Jan 2015 13:34:07 +0000 (13:34 +0000)]
Merge "BUG-2560 Canonical write to remote netconf devices"

9 years agoMerge "Optimize inflight transitions"
Tony Tkacik [Thu, 8 Jan 2015 13:23:40 +0000 (13:23 +0000)]
Merge "Optimize inflight transitions"

9 years agoMerge "Remove lock out of the congested/reuse case"
Tony Tkacik [Thu, 8 Jan 2015 13:23:33 +0000 (13:23 +0000)]
Merge "Remove lock out of the congested/reuse case"

9 years agoMake sure NetconfTestImplModule is indented 93/13993/1
Robert Varga [Thu, 8 Jan 2015 13:04:44 +0000 (14:04 +0100)]
Make sure NetconfTestImplModule is indented

The stub file is copied as-is, leading to a generated file which does
not conform to checkstyle and fails build.

Change-Id: I5fbdd06aebc4b41607d386665a532901b1ec7e4e
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoOptimize inflight transitions 24/13124/4
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>
9 years agoBUG-2560 Canonical write to remote netconf devices 38/13538/8
Maros Marsalek [Wed, 10 Dec 2014 15:02:27 +0000 (16:02 +0100)]
BUG-2560 Canonical write to remote netconf devices

Current sequence for writing to remote netconf devices:

Writable running only:
- lock running or fail
- edit running (unlock on fail)
- unlock running

Candidate only:
- lock candidate
-- if lock fails, try to discard changes
--- if discard fails, fail
--- if discard succeeds, lock candidate
---- if lock fails, fail
- edit candidate (discard-changes + unlock on fail)
- commit
- unlock candidate

Both writable running and candidate:
- lock running or fail
- SAME AS FOR CANDIDATE ONLY
- unlock running

Change-Id: Ia4e0d43f3131c4072e8505ba72ef09ff441c1fac
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
9 years agoMerge "Refactor TransactionProxy"
Tom Pantelis [Wed, 7 Jan 2015 21:09:05 +0000 (21:09 +0000)]
Merge "Refactor TransactionProxy"

9 years agoMerge "Stabilizing tests for TopologyManager."
Anil Vishnoi [Wed, 7 Jan 2015 21:01:02 +0000 (21:01 +0000)]
Merge "Stabilizing tests for TopologyManager."

9 years agoMerge "Fix bug 2554 - XSQL getting stuck on some models"
Ed Warnicke [Wed, 7 Jan 2015 20:05:00 +0000 (20:05 +0000)]
Merge "Fix bug 2554 - XSQL getting stuck on some models"

9 years agoStabilizing tests for TopologyManager. 78/13978/1
Hideyuki Tai [Wed, 7 Jan 2015 19:30:55 +0000 (14:30 -0500)]
Stabilizing tests for TopologyManager.

Change-Id: I3babd7b4718587f95010513923efbcfc360797b4
Signed-off-by: Hideyuki Tai <Hideyuki.Tai@necam.com>
9 years agoRefactor TransactionProxy 36/13836/5
Gary Wu [Tue, 23 Dec 2014 20:58:35 +0000 (12:58 -0800)]
Refactor TransactionProxy

Refactor TransactionProxy and
TransactionProxy.TransactionFutureCallback to reduce boilerplate.

Change-Id: Iebbf1c748348a224b5447c711a5e4cae4b3e17e7
Signed-off-by: Gary Wu <Gary.Wu1@huawei.com>
9 years agoRemove lock out of the congested/reuse case 23/13123/4
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>
9 years agoDo not pull in xtend-lib-osgi 59/13959/3
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>
9 years agoMerge "Model dom-broker statistics"
Tony Tkacik [Wed, 7 Jan 2015 10:35:40 +0000 (10:35 +0000)]
Merge "Model dom-broker statistics"

9 years agoMerge "Move ConcurrentDOMDataBroker to clustered-datastore"
Tony Tkacik [Wed, 7 Jan 2015 10:35:26 +0000 (10:35 +0000)]
Merge "Move ConcurrentDOMDataBroker to clustered-datastore"

9 years agoMerge "Add timeout to netconf IT test"
Tony Tkacik [Wed, 7 Jan 2015 09:42:01 +0000 (09:42 +0000)]
Merge "Add timeout to netconf IT test"

9 years agoMerge changes I4ec0efd7,Ia2619921
Tony Tkacik [Wed, 7 Jan 2015 09:38:58 +0000 (09:38 +0000)]
Merge changes I4ec0efd7,Ia2619921

* changes:
  Implement basic locking for candidate in config-netconf-connector
  Improve error reporting in ServiceRegistry

9 years agoMerge "Add better error reporting to ConfigSnapshot parser"
Tony Tkacik [Wed, 7 Jan 2015 09:38:38 +0000 (09:38 +0000)]
Merge "Add better error reporting to ConfigSnapshot parser"

9 years agoMerge "Fail on validation of checkstyle set to true"
Tony Tkacik [Wed, 7 Jan 2015 09:33:50 +0000 (09:33 +0000)]
Merge "Fail on validation of checkstyle set to true"

9 years agoBUG 2468 - IdentityValuesDTO to string class cast exception. 84/13684/2
Jozef Gloncak [Tue, 16 Dec 2014 15:49:40 +0000 (16:49 +0100)]
BUG 2468 - IdentityValuesDTO to string class cast exception.

If leaf had type which is definined in other module (imported) via typedef
and this type is leafref then it wasn't possible correctly resolve base
type of referenced type.

New method for this resolution was implemented and is now called.

Also test for this case was added

Merge precondition:
yangtools: https://git.opendaylight.org/gerrit/13683

Change-Id: If00db3a6297b5a0ea657acb469f4f49f350f8c63
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
9 years agoMerge "Fix test case mis-spelling."
Ed Warnicke [Tue, 6 Jan 2015 23:36:01 +0000 (23:36 +0000)]
Merge "Fix test case mis-spelling."

9 years agoMerge "Fix Akka exception: cannot use non-static local Creator to create actors"
Tom Pantelis [Tue, 6 Jan 2015 15:09:20 +0000 (15:09 +0000)]
Merge "Fix Akka exception: cannot use non-static local Creator to create actors"

9 years agoMerge "Bug 2526: Race condition may cause missing routes in RPC BucketStore"
Moiz Raja [Tue, 6 Jan 2015 14:22:53 +0000 (14:22 +0000)]
Merge "Bug 2526: Race condition may cause missing routes in RPC BucketStore"

9 years agoMerge "Enhance karaf-parent with karaf.localFeature"
Moiz Raja [Mon, 5 Jan 2015 23:08:13 +0000 (23:08 +0000)]
Merge "Enhance karaf-parent with karaf.localFeature"

9 years agoMerge "Bug 2551 - Statistics collection of random node fails when large number if...
Tom Pantelis [Mon, 5 Jan 2015 22:20:24 +0000 (22:20 +0000)]
Merge "Bug 2551 - Statistics collection of random node fails when large number if switches disconnects from controller."

9 years agoFix bug 2554 - XSQL getting stuck on some models 21/13921/1
Sharon Aicler [Mon, 5 Jan 2015 21:25:12 +0000 (13:25 -0800)]
Fix bug 2554 - XSQL getting stuck on some models

Change-Id: Ifac372a1657c9e4ace90abd950a5a29a53b7cca0
Signed-off-by: Sharon Aicler <saichler@cisco.com>
9 years agoMerge "Bug 2158: Fixed TopologyManager for edge updates."
Anil Vishnoi [Mon, 5 Jan 2015 20:57:21 +0000 (20:57 +0000)]
Merge "Bug 2158: Fixed TopologyManager for edge updates."

9 years agoEnhance karaf-parent with karaf.localFeature 19/13919/1
Ed Warnicke [Mon, 5 Jan 2015 20:43:08 +0000 (14:43 -0600)]
Enhance karaf-parent with karaf.localFeature

Change-Id: I97a2fa1ab698deda0d2a05598aac552040854bed
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoBug 2551 - Statistics collection of random node fails when large number if switches... 01/13901/3
Anil Vishnoi [Sat, 3 Jan 2015 20:18:00 +0000 (01:48 +0530)]
Bug 2551 - Statistics collection of random node fails when large number if switches disconnects from controller.

When statistics manager is collecting stats and large number of switches disconnects from controller
,some time it causes OptimisticsLockFailedException while processing the existing multipart reply
present in dataStoreOperQueue. Exception occures because it tries to write data to the Node that
doesn't existing in the data store. While handling OptimisticsLockFailedException, statistics manager
flush existing data store related operation task from dataStoreOperQueue. This queue also holds Operational
task for cleaning up internal data of the disconnected nodes and because it flushes the queue, those
operational task don't get executed and statistics manager assumes that those nodes are yet connected
to the controller. When all the switches connects back with different mode (e.g previsouly Openflow13
but reconnects in OpenFlow10 mode), statistics collection of those node fails.

Change-Id: I50a44dfd20f90e3179bcd15bde67247da6565af7
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
9 years agoMerge "Move feature odl-mdsal-common from features-config to features-mdsal."
Moiz Raja [Mon, 5 Jan 2015 19:08:16 +0000 (19:08 +0000)]
Merge "Move feature odl-mdsal-common from features-config to features-mdsal."

9 years agoIntroducing config-parent 10/13810/9
Ed Warnicke [Sun, 21 Dec 2014 17:07:33 +0000 (11:07 -0600)]
Introducing config-parent

config-parent is a parent pom designed to do all of the work
for a downstream consumer who is building a config subsystem
project.

Change-Id: Ibe086148eae5bc7d84dd96f170ec64f033fbd81a
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoBug 2552 - Fix statistics manager log messages 06/13906/1
Anil Vishnoi [Mon, 5 Jan 2015 08:42:17 +0000 (14:12 +0530)]
Bug 2552 - Fix statistics manager log messages

Fixed the log message to spit clear information about the warning message.

Change-Id: I9fc064cd8418b9d5ae22b9949fe535cbf4bc33d4
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
9 years agoMove feature odl-mdsal-common from features-config to features-mdsal. 99/13899/1
Ed Warnicke [Sat, 3 Jan 2015 18:07:07 +0000 (12:07 -0600)]
Move feature odl-mdsal-common from features-config to features-mdsal.

Change-Id: I42f6840c5bc3c271dc5b9edde4bf266f8b718946
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoModel dom-broker statistics 20/13120/6
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>
9 years agoMove ConcurrentDOMDataBroker to clustered-datastore 79/13079/9
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>
9 years agoMerge "Introducing karaf-parent (and also group karaf things)"
Moiz Raja [Tue, 23 Dec 2014 23:42:41 +0000 (23:42 +0000)]
Merge "Introducing karaf-parent (and also group karaf things)"

9 years agoBug 2158: Fixed TopologyManager for edge updates. 76/12876/7
Hideyuki Tai [Sat, 15 Nov 2014 00:55:46 +0000 (19:55 -0500)]
Bug 2158: Fixed TopologyManager for edge updates.

MD-SAL does not keep the order of notification of data changes. In the
result, TopologyManager sometimes receives a notification of an edge
addition before it is notified of the addition of the NodeConnector
which is the head of the edge. In such a case, TopologyManager ignores
the edge notification, and fails to create correct topology information.
This is one of the root causes of Bug 2158.
To handle this issue, this patch fixed TopologyManager to queue edge
notifications, and wait corresponding NodeConnector updates.

Change-Id: Ifeabc91d856eb9cc88ae3595d14e0a6819ec7454
Signed-off-by: Hideyuki Tai <Hideyuki.Tai@necam.com>
9 years agoMerge "Fix bug 2449 in sal-remoterpc-connector Regarding to Moiz's comments, replace...
Moiz Raja [Tue, 23 Dec 2014 18:14:11 +0000 (18:14 +0000)]
Merge "Fix bug 2449 in sal-remoterpc-connector Regarding to Moiz's comments, replace sender from null to ActorRef.noSender() in RpcManager.java"