6 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

Change-Id: Ie2b61c13f0547b058b7f80a61b2a969b3ba98754
Signed-off-by: tpantelis <>
6 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"

6 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."

6 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"

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

6 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"

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

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

6 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 <>
6 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"

6 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 <>
6 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 <>
6 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 <>
6 years agoMerge "Fix a race PingPongTransactionChain"
Tony Tkacik [Thu, 15 Jan 2015 10:12:10 +0000 (10:12 +0000)]
Merge "Fix a race PingPongTransactionChain"

6 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

Change-Id: I8c2ad967af53a5216359677b8d7e3975294c942b
Signed-off-by: Robert Varga <>
6 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 <>
6 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 <>
6 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 <>
6 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"

6 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

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 <>
6 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 <>
6 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
in favor of the newly added:

in favor of the newly added:

Change-Id: Id256c81a7210640b9a493a3f0fc71a9e0379e317
Signed-off-by: Ed Warnicke <>
6 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 <>
6 years agoMerge "Optimize Capability.getLocation()"
Tony Tkacik [Mon, 12 Jan 2015 16:31:29 +0000 (16:31 +0000)]
Merge "Optimize Capability.getLocation()"

6 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"

6 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 org.opendaylight.protocol.bgp.rib.impl.RIBImpl$

Change-Id: Ie21cf5f0ebba79fa25358da2ee1e6b22cfb0f906
Signed-off-by: Robert Varga <>
6 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 <>
6 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"

6 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 <>
Signed-off-by: Maros Marsalek <>
6 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"

6 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 <>
6 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"

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

6 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"

6 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 <>
6 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 <>
6 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
- unlock running

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

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

6 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"

6 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 <>
6 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 <>
6 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 <>
6 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 <>
6 years agoMerge "Model dom-broker statistics"
Tony Tkacik [Wed, 7 Jan 2015 10:35:40 +0000 (10:35 +0000)]
Merge "Model dom-broker statistics"

6 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"

6 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"

6 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

6 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"

6 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"

6 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:

Change-Id: If00db3a6297b5a0ea657acb469f4f49f350f8c63
Signed-off-by: Jozef Gloncak <>
6 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."

6 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"

6 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"

6 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"

6 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."

6 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 <>
6 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."

6 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 <>
6 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 <>
6 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."

6 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

Change-Id: Ibe086148eae5bc7d84dd96f170ec64f033fbd81a
Signed-off-by: Ed Warnicke <>
6 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 <>
6 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 <>
6 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 <>
6 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 <>
6 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)"

6 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 <>
6 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"

6 years agoMerge "Bug 2517: Catch RuntimeExceptions thrown from the DCL in DataChangeListener"
Moiz Raja [Tue, 23 Dec 2014 18:12:30 +0000 (18:12 +0000)]
Merge "Bug 2517: Catch RuntimeExceptions thrown from the DCL in DataChangeListener"

6 years agoIntroducing karaf-parent (and also group karaf things) 84/13484/5
Ed Warnicke [Tue, 9 Dec 2014 14:49:04 +0000 (08:49 -0600)]
Introducing karaf-parent (and also group karaf things)

This patch introduces karaf-parent (to ease in the making
of karaf distributions) and moves all the karaf things into
a common directory.

Change-Id: I75e58d92a06104274eff3c71e3c6de4db2e29e47
Signed-off-by: Ed Warnicke <>
6 years agoFix test case mis-spelling. 22/13822/1
Gary Wu [Mon, 22 Dec 2014 20:31:30 +0000 (12:31 -0800)]
Fix test case mis-spelling.

Change-Id: Ic50c32a18648e6ee484d8689d169b5b341d4f3c2
Signed-off-by: Gary Wu <>
6 years agoMerge "Remove sonar.profile since it's deprecated in Sonar 4.5"
Ed Warnicke [Sat, 20 Dec 2014 19:47:49 +0000 (19:47 +0000)]
Merge "Remove sonar.profile since it's deprecated in Sonar 4.5"

6 years agoMerge "Set root pom.xml <name> for Sonar"
Ed Warnicke [Sat, 20 Dec 2014 19:47:29 +0000 (19:47 +0000)]
Merge "Set root pom.xml <name> for Sonar"

6 years agoRemove sonar.profile since it's deprecated in Sonar 4.5 87/13587/3
Thanh Ha [Fri, 12 Dec 2014 05:00:20 +0000 (00:00 -0500)]
Remove sonar.profile since it's deprecated in Sonar 4.5

This parameter is deprecated in Sonar 4.5 and should no longer be used.
Instead this profile should be set server side on the Sonar server.

Change-Id: I6ac86e7c3cd18540dcfef7b43c19800007046612
Signed-off-by: Thanh Ha <>
6 years agoSet root pom.xml <name> for Sonar 85/13585/3
Thanh Ha [Fri, 12 Dec 2014 02:21:50 +0000 (21:21 -0500)]
Set root pom.xml <name> for Sonar

As mentioned on the mailing list Sonar uses the <name> field of the
pom.xml that is passed to the mvn command as the name of the project in
Sonar. In most cases this is the root pom.xml file in a project. This
patch sets the name to the project shortname. In this case "controller".

Change-Id: I1c963d398b7cee6506ffadb6ea7d30f54771071e
Signed-off-by: Thanh Ha <>
6 years agoRemove duplicate dependency declarations 84/13584/3
Thanh Ha [Fri, 12 Dec 2014 02:13:53 +0000 (21:13 -0500)]
Remove duplicate dependency declarations

org.opendaylight.controller:networkconfig.neutron and
org.opendaylight.yangtools:features-test are declared twice in the pom
file causing Maven to throw warnings.

Change-Id: I32da02be41a5a51ad05c85a0e186549141f38513
Signed-off-by: Thanh Ha <>
6 years agoBug 2526: Race condition may cause missing routes in RPC BucketStore 53/13753/7
tpantelis [Fri, 19 Dec 2014 08:45:43 +0000 (03:45 -0500)]
Bug 2526: Race condition may cause missing routes in RPC BucketStore

Changed the RpcRegistry class to derive from BucketStore instead of
creating the BucketStore as a separate actor. This was done because the
copy-on-write update operations in the BucketStore need to be done
atomically so the RpcRegistry needs direct access to the BucketStore in
order to do this safely and efficiently. The RpcRegistry handles the
sematics of the Bucket data - this keeps the BucketStore data agnostic.

Change-Id: Ief96c28775b729f459d324971403222e5a578029
Signed-off-by: tpantelis <>
6 years agoMerge "Fixed tag for <nexus.repository.snapshot>"
Ed Warnicke [Fri, 19 Dec 2014 16:38:20 +0000 (16:38 +0000)]
Merge "Fixed tag for <nexus.repository.snapshot>"

6 years agoMerge "added namespace to features/adsal pom.xml"
Ed Warnicke [Fri, 19 Dec 2014 16:37:44 +0000 (16:37 +0000)]
Merge "added namespace to features/adsal pom.xml"

6 years agoMerge "BUG-1382: do not instantiate prefixed QNames"
Tony Tkacik [Fri, 19 Dec 2014 15:44:44 +0000 (15:44 +0000)]
Merge "BUG-1382: do not instantiate prefixed QNames"

6 years agoBUG-1382: do not instantiate prefixed QNames 80/13680/5
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 <>
6 years agoFix Akka exception: cannot use non-static local Creator to create actors 48/13748/1
Gary Wu [Fri, 19 Dec 2014 00:08:58 +0000 (16:08 -0800)]
Fix Akka exception: cannot use non-static local Creator to create actors

Fix Akka exception "cannot use non-static local Creator to create
actors; make it static or top-level" running JUnit tests in Eclipse.

Allows Eclipse JUnit tests to complete in:

Change-Id: I64b83c12ed44773bbe7dee5666872209f3346b15
Signed-off-by: Gary Wu <>
6 years agoFix compilation warnings: replace deprecated org.apache.felix classes 47/13747/1
Gary Wu [Thu, 18 Dec 2014 22:12:17 +0000 (14:12 -0800)]
Fix compilation warnings: replace deprecated org.apache.felix classes

Replace deprecated org.apache.felix.gogo.commands.Command

Replace deprecated org.apache.felix.gogo.commands.Argument

Change-Id: If858e2a6937b50c517650672b8a138cc218b907c
Signed-off-by: Gary Wu <>
6 years agoFixed tag for <nexus.repository.snapshot> 46/13746/1
Jonathan Fok kan [Thu, 18 Dec 2014 22:07:46 +0000 (17:07 -0500)]
Fixed tag for <nexus.repository.snapshot>

Change-Id: Ibc0a67e539c921449fc88b3c4435057d80112b54
Signed-off-by: Jonathan Fok kan <>
6 years agoadded namespace to features/adsal pom.xml 45/13745/5
Jonathan Fok kan [Thu, 18 Dec 2014 21:35:02 +0000 (16:35 -0500)]
added namespace to features/adsal pom.xml

Change-Id: I6a9751fd01bb63fa31125fbf2a483905dbf5f867
Signed-off-by: Jonathan Fok kan <>
6 years agoBUG-2459: use ImmutableSet instead of an unmodifieable HashSet 10/13410/5
Robert Varga [Fri, 5 Dec 2014 10:36:04 +0000 (11:36 +0100)]
BUG-2459: use ImmutableSet instead of an unmodifieable HashSet

This makes the lookups much more efficient.

Change-Id: I9c9a210b1eef1b5a2850013259191fde9a9c439b
Signed-off-by: Robert Varga <>
6 years agoBUG-2459: reuse EXI Reader 12/13312/18
Robert Varga [Tue, 2 Dec 2014 15:21:14 +0000 (16:21 +0100)]
BUG-2459: reuse EXI Reader

The reader performs an internal reset on each invocation of parse(), so
it can be freely reused as long as we guarantee there are no concurrent
invocations. Our decoder class is not Shared, so netty guarantees this.

Change-Id: Icd575988e48ca5252d6f6716f4e08f83b23c99ca
Signed-off-by: Robert Varga <>
6 years agoBUG-2459: reuse EXI Transmogrifier 11/13311/19
Robert Varga [Tue, 2 Dec 2014 14:57:27 +0000 (15:57 +0100)]
BUG-2459: reuse EXI Transmogrifier

EXI Transmogrifier performs an internal reset whenever we acquire the
SAXTransmogrifier. This means that we are free to reuse the instance
between individual invocations as long as we can guarantee there are no
concurrent access. That is guaranteed by our Handler not being Shared.

Change-Id: Iba141915000b016579b273d4413ecd205f8da777
Signed-off-by: Robert Varga <>
6 years agoFail on validation of checkstyle set to true 08/13008/11
Marian Dubai [Thu, 20 Nov 2014 14:04:12 +0000 (15:04 +0100)]
Fail on validation of checkstyle set to true

Change-Id: I3e5b9c96b76921bfae0ee31207508a97a52ee872
Signed-off-by: Marian Dubai <>
6 years agoFix bug 2449 in sal-remoterpc-connector 35/13735/1
Xin Chang [Sat, 29 Nov 2014 07:23:15 +0000 (15:23 +0800)]
Fix bug 2449 in sal-remoterpc-connector
Regarding to Moiz's comments, replace sender from null to
ActorRef.noSender() in

Register SchemeContextListener with global SchemeService and push scheme
context to RpcBroker

Change-Id: Ia941f25f7b82a8146bf412389fbea5219c76f55a
Signed-off-by: Xin Chang <>
6 years agoMerge changes Ic8cadf33,If59b1dd3
Tony Tkacik [Thu, 18 Dec 2014 14:22:32 +0000 (14:22 +0000)]
Merge changes Ic8cadf33,If59b1dd3

* changes:
  Bug-2342: Add stress test with more threads and start of testtool device.
  Bug-2342: Fixing rpc-reply messages id's get mixed up

6 years agoMerge changes Icd18348e,I0e642b1b,I304bec5e
Tony Tkacik [Thu, 18 Dec 2014 14:20:29 +0000 (14:20 +0000)]
Merge changes Icd18348e,I0e642b1b,I304bec5e

* changes:
  BUG-2459: maintain a cache of grammar caches
  BUG-2459: cache GrammarCache
  BUG-2459: centralize codec allocation

6 years agoMerge "BUG-2511 Fix XXE vulnerability in initial config loaders"
Tony Tkacik [Thu, 18 Dec 2014 14:16:30 +0000 (14:16 +0000)]
Merge "BUG-2511 Fix XXE vulnerability in initial config loaders"

6 years agoMerge "BUG-2288: DOMNotification API"
Tony Tkacik [Thu, 18 Dec 2014 14:13:12 +0000 (14:13 +0000)]
Merge "BUG-2288: DOMNotification API"

6 years agoAdd timeout to netconf IT test 79/13679/4
Maros Marsalek [Tue, 16 Dec 2014 12:40:56 +0000 (13:40 +0100)]
Add timeout to netconf IT test

Also remove blocking call from celanup.

Change-Id: I9663ae8fd8afb605a6713232c518782ec15d431e
Signed-off-by: Maros Marsalek <>
6 years agoBUG-2511 Fix XXE vulnerability in initial config loaders 31/13731/1
Maros Marsalek [Thu, 18 Dec 2014 09:33:02 +0000 (10:33 +0100)]
BUG-2511 Fix XXE vulnerability in initial config loaders

Change-Id: I0b9aefa8d7a2d59f542075172fe03678618a6385
Signed-off-by: Maros Marsalek <>
6 years agoMerge "BUG 2509 : Removing all journal entries from a Followers in-memory journal...
Tom Pantelis [Wed, 17 Dec 2014 23:56:32 +0000 (23:56 +0000)]
Merge "BUG 2509 : Removing all journal entries from a Followers in-memory journal causes Leader to send an InstallSnapshot"

6 years agoMerge "BUG 2464 : Shard dataSize does not seem to correspond to actual memory usage"
Tom Pantelis [Wed, 17 Dec 2014 23:55:44 +0000 (23:55 +0000)]
Merge "BUG 2464 : Shard dataSize does not seem to correspond to actual memory usage"

6 years agoBUG 2464 : Shard dataSize does not seem to correspond to actual memory usage 49/13349/7
Moiz Raja [Wed, 3 Dec 2014 17:58:35 +0000 (09:58 -0800)]
BUG 2464 : Shard dataSize does not seem to correspond to actual memory usage

The dataSize that is reported is the "serialized" size of the payload. Since the replicated
log actually contains the CompositeModification object (which may hold on to a lot more memory)
the serialized size is not neccessarily the same as the object size.

To make the data size correspond to memory usage and to actually reduce memory usage this patch
creates a new payload class called CompositeModificationByteStringPayload which only stores the
ByteString which is an order of magnitude smaller. Custom serialization ensures that this object
is written and read correctly.

This patch is backward compatible in that a replicated log containing a CompositeModificationPayload
will be read correctly but is not forward compatible in that if a new controller instance were to send
a CompositeModificationPayload to an older instance it would not work.

To ensure that we do not need to immediately require a conversion from ByteString to PersistentMessages.CompositeModification we maintain a SoftReference to CompositeModification.

Change-Id: I32c921dea2d39ed689aa2fb6f68eb8528be920d0
Signed-off-by: Moiz Raja <>