8 years agoDisabled logging bridge in ad-sal features. 88/18488/1
Tony Tkacik [Thu, 16 Apr 2015 21:12:08 +0000 (23:12 +0200)]
Disabled logging bridge in ad-sal features.

With Karaf 3.0.3 in place AD-SAL logging-bridge
created loop in logs, which polluted logs
with exponential prepending of prefix to
log messages.

During SingleFeatureTest run these logs
creates around 400MB of repeated log message
without any meaning.

Change-Id: I8896956c7a377eaf3139ba64bb70ce46a31e6ea3
Signed-off-by: Tony Tkacik <>
8 years agoBug 2907: Make sure we are properly bumped to Karaf 3.0.3 10/18410/3
Tony Tkacik [Thu, 16 Apr 2015 10:53:33 +0000 (12:53 +0200)]
Bug 2907: Make sure we are properly bumped to Karaf 3.0.3

Change-Id: Ic9303c71fcfc39849401a7cdaa24b44f3836067b
Signed-off-by: Tony Tkacik <>
8 years agoBug 2907: Fixed missing reference to parent pom. 03/18403/1
Tony Tkacik [Thu, 16 Apr 2015 09:38:36 +0000 (11:38 +0200)]
Bug 2907: Fixed missing reference to parent pom.

Change-Id: I9dc0bca738288d18a3943e8528f3ac81c5bbc07e
Signed-off-by: Tony Tkacik <>
8 years agoMerge "Bug 2358: Fixed warnings in Restconf"
Ed Warnicke [Thu, 16 Apr 2015 03:55:18 +0000 (03:55 +0000)]
Merge "Bug 2358: Fixed warnings in Restconf"

8 years agoBug 2907 - corrections for upgrade to karaf 3.0.3 93/15393/7
Ed Warnicke [Mon, 16 Feb 2015 01:35:40 +0000 (18:35 -0700)]
Bug 2907 - corrections for upgrade to karaf 3.0.3

Needs patch:
from odlparent

So far this seems to work fine except for the issues
with aaa-authn's use of sqllite.

If you want to test with integration, you will need patch:

Change-Id: I34d9adf31562a0650abba015d19dd8c6958b2bf3
Signed-off-by: Ed Warnicke <>
8 years agoMerge "Split out sal-akka-raft example"
Moiz Raja [Wed, 15 Apr 2015 18:29:20 +0000 (18:29 +0000)]
Merge "Split out sal-akka-raft example"

8 years agoMerge "Bug 2948: Recovered log entries not applied after prior snapshot"
Moiz Raja [Wed, 15 Apr 2015 18:26:20 +0000 (18:26 +0000)]
Merge "Bug 2948: Recovered log entries not applied after prior snapshot"

8 years agoMerge "BUG-2953: do not use a complete InMemoryDataStore"
Tony Tkacik [Wed, 15 Apr 2015 14:49:44 +0000 (14:49 +0000)]
Merge "BUG-2953: do not use a complete InMemoryDataStore"

8 years agoMessage-bus - removed trailing witespaces of new tests for messagebus-impl 89/18189/5
Igor Bartak [Mon, 13 Apr 2015 11:52:07 +0000 (13:52 +0200)]
Message-bus - removed trailing witespaces of new tests for messagebus-impl

Change-Id: I0d3c23504ac2420e43d65a78abe50a761855e661
Signed-off-by: Igor Bartak <>
8 years agoSplit out sal-akka-raft example 00/18200/5
Robert Varga [Mon, 13 Apr 2015 13:54:23 +0000 (15:54 +0200)]
Split out sal-akka-raft example

The example should not be included in production code, so split it out
into a separate component.

Change-Id: Iacf4d57d5e0ec85a975f8611dab1524b6556ce39
Signed-off-by: Robert Varga <>
8 years agoMerge "Extracted NotificationInvokerImpl to separate class."
Tom Pantelis [Tue, 14 Apr 2015 12:12:07 +0000 (12:12 +0000)]
Merge "Extracted NotificationInvokerImpl to separate class."

8 years agoMerge "Unify sal-akka-raft version"
Tom Pantelis [Tue, 14 Apr 2015 12:03:23 +0000 (12:03 +0000)]
Merge "Unify sal-akka-raft version"

8 years agoUse Collections.emptyList() 01/18201/2
Robert Varga [Mon, 13 Apr 2015 14:31:28 +0000 (16:31 +0200)]
Use Collections.emptyList()

This fixes a warning about generic argument mismatch.

Change-Id: If856d00e21d3eaa333f57ada582ec4b3eb7b0d20
Signed-off-by: Robert Varga <>
8 years agoUnify sal-akka-raft version 99/18199/3
Robert Varga [Mon, 13 Apr 2015 13:53:34 +0000 (15:53 +0200)]
Unify sal-akka-raft version

Make sure the artifact is published, so we can reuse the same version.

Change-Id: I1dd1aac1d45e1ef2f27fe232cb59218651463618
Signed-off-by: Robert Varga <>
8 years agoBUG-2953: do not use a complete InMemoryDataStore 92/18192/3
Robert Varga [Mon, 13 Apr 2015 13:20:43 +0000 (15:20 +0200)]
BUG-2953: do not use a complete InMemoryDataStore

Aggregator functionality does not require sequencing or listener, but
rather simple manipulation. Instantiate a DataTree instead, simplifying
the class.

Change-Id: I1edc38f0722ddbd1145149bbc5efef5ab41b0146
Signed-off-by: Robert Varga <>
8 years agoExtracted NotificationInvokerImpl to separate class. 35/17835/3
Tony Tkacik [Tue, 7 Apr 2015 11:41:29 +0000 (13:41 +0200)]
Extracted NotificationInvokerImpl to separate class.

Change-Id: Ie7494e872200581ce6cf5dcae2088ab2afda3671
Signed-off-by: Tony Tkacik <>
8 years agoBug 2948: Recovered log entries not applied after prior snapshot 13/18113/5
Tom Pantelis [Sat, 4 Apr 2015 03:39:52 +0000 (23:39 -0400)]
Bug 2948: Recovered log entries not applied after prior snapshot

Modified SnapshotManager#capture to obtain and cache the last journal sequence
number. On commit, the cached sequence number is used to delete
messages. This preserves any ApplyJournalEntries and ReplicatedLogEntry
messages that occur after the capture is initiated.

As a result of his change, we also have to obtain the unapplied entries
at the time the snapahot is initiated and not when we persist.
Otherwise, log entries persisted after the capture is initiated and
before it's persisted would be included in the snapshot's unapplied
list. On recovery, both entries would be recovered and added to the in-memory
journal resulting in duplicate entries.

These changes may result in a subsequent modification that is applied
after the snapshot is initiated to be included in the snapshot and also
persisted in the journal or included as unapplied in the snapshot. On
recovery, the modification entry would be redundantly applied. This could
result in data tree errors, eg if the modification was a delete, the
redundant apply would cause an exception due to the non-existent node.
We'll have to live with that - I think the only way to prevent it is if
we create the snapshot synchronously. Note this could also have occurred
before these changes.

Change-Id: I745d94f5417e17627c1c4d53be8d6fdf01587d35
Signed-off-by: Tom Pantelis <>
8 years agoMerge "Bug 2948: Store DataPersistenceProvider in RaftActorContext"
Moiz Raja [Mon, 13 Apr 2015 19:45:01 +0000 (19:45 +0000)]
Merge "Bug 2948: Store DataPersistenceProvider in RaftActorContext"

8 years agoFix unit test failure in ReplicatedImplLogTest 10/18210/1
Tom Pantelis [Mon, 13 Apr 2015 18:14:17 +0000 (14:14 -0400)]
Fix unit test failure in ReplicatedImplLogTest

All verify builds are faling.

Change-Id: Ie92f47dab8eed13284a48c51bb52f3516cfb68a1
Signed-off-by: Tom Pantelis <>
8 years agoMerge "Stop swallowing exceptions in XmlElement optional methods."
Tony Tkacik [Mon, 13 Apr 2015 09:11:40 +0000 (09:11 +0000)]
Merge "Stop swallowing exceptions in XmlElement optional methods."

8 years agoMerge "Remove isCloseMsg check for each rpc"
Tony Tkacik [Mon, 13 Apr 2015 07:46:46 +0000 (07:46 +0000)]
Merge "Remove isCloseMsg check for each rpc"

8 years agoMerge "Add LeadershipChangeCount to ShardStats"
Moiz Raja [Sat, 11 Apr 2015 01:13:56 +0000 (01:13 +0000)]
Merge "Add LeadershipChangeCount to ShardStats"

8 years agoMerge "Add new DeleteEntries class wih long "fromIndex" field"
Moiz Raja [Sat, 11 Apr 2015 01:09:47 +0000 (01:09 +0000)]
Merge "Add new DeleteEntries class wih long "fromIndex" field"

8 years agoMerge "Add unit test for ElectionTermImpl"
Moiz Raja [Sat, 11 Apr 2015 01:06:11 +0000 (01:06 +0000)]
Merge "Add unit test for ElectionTermImpl"

8 years agoBug 2948: Store DataPersistenceProvider in RaftActorContext 04/17804/5
Tom Pantelis [Sat, 4 Apr 2015 03:27:51 +0000 (23:27 -0400)]
Bug 2948: Store DataPersistenceProvider in RaftActorContext

This will make the DataPersistenceProvider accessible to callers that
don't have access to the RaftActor. In particular, the SnapshotManager
will need access from the capture method (subsequent patch). The
DataPersistenceProvider can't be passed to capture b/c it is also
called from AbstractLeader which doesn't have access to the

With thus change we no longer have to pass the DataPersistenceProvider to
the persist and commit methods either.

Change-Id: I187901476f2728e4b7f72238e72006c95c188b55
Signed-off-by: Tom Pantelis <>
8 years agoBug 2948: Add getLastSequenceNumber method to DataPersistenceProvider 95/17795/3
Tom Pantelis [Sat, 4 Apr 2015 02:01:40 +0000 (22:01 -0400)]
Bug 2948: Add getLastSequenceNumber method to DataPersistenceProvider

New method that returns the last sequence number from akka's persisted
journal. This will be used in a subsequent patch.

Change-Id: Ie2b77358c57eb3e30fea7af317f277d7e660125e
Signed-off-by: Tom Pantelis <>
8 years agoAdd LeadershipChangeCount to ShardStats 81/17981/2
Tom Pantelis [Wed, 8 Apr 2015 18:09:46 +0000 (14:09 -0400)]
Add LeadershipChangeCount to ShardStats

It's useful to see how many shard leadership changes have occurred so I
added a LeadershipChangeCount stat to the ShardStats mbean. This helps
to determine if spurious leadership changes are occurring. I also added

Change-Id: I33ddbcd96d6fa93fbfa9887393a2f5a40027d9f3
Signed-off-by: Tom Pantelis <>
8 years agoAdd new DeleteEntries class wih long "fromIndex" field 99/17399/3
Tom Pantelis [Sun, 29 Mar 2015 12:57:40 +0000 (08:57 -0400)]
Add new DeleteEntries class wih long "fromIndex" field

Added a new DeleteEntries message class that defines the fromIndex field
as a long. The previous DeleteEntries class (inner class of RaftActor)
defined it as an int which could cause rollover. The previous DeleteEntries
must be kept for the time being for backwards compatibility as instances
are persisted.

Change-Id: I774128d9a1af2410a23d2739c37484a508c8a80f
Signed-off-by: Tom Pantelis <>
8 years agoAdd unit test for ElectionTermImpl 97/17397/2
Tom Pantelis [Sun, 29 Mar 2015 12:23:38 +0000 (08:23 -0400)]
Add unit test for ElectionTermImpl

Added a unit test class ElectionTermImplTest and removed the equivalent
test case from RaftActorTest.

Change-Id: I1c3f0e59784422777d742ade4c01e1e18914a213
Signed-off-by: Tom Pantelis <>
8 years agoAdd unit tests for ReplicatedLogImpl 52/17352/2
Tom Pantelis [Sun, 29 Mar 2015 04:40:09 +0000 (00:40 -0400)]
Add unit tests for ReplicatedLogImpl

Some test cases in RaftActorTest directly test the ReplicatedLogImpl so
they were moved to a new specific test class ReplicatedLogImplTest as
they donlt need the overhead of creating a RaftActor.

Also added more tests and increased coverage in

Change-Id: I14e65620d1c8bc89bab055488aed89837ff3f4e7
Signed-off-by: Tom Pantelis <>
8 years agoAdd unit tests for RaftActorSnapshotMessageSupport 23/17323/2
Tom Pantelis [Sun, 29 Mar 2015 00:51:05 +0000 (20:51 -0400)]
Add unit tests for RaftActorSnapshotMessageSupport

Change-Id: Ic0f5be5c9741f62bae572953d89ac8800ee371af
Signed-off-by: Tom Pantelis <>
8 years agoAdd unit tests for RaftActorRecoverySupport 12/17312/6
Tom Pantelis [Sat, 28 Mar 2015 15:27:06 +0000 (11:27 -0400)]
Add unit tests for RaftActorRecoverySupport

Also removed redundant recovery tests from RaftActorTest and added a
test that verifies the RaftActor forwards all recovery messages to the

I also refactored MockRactorActor and RaftActorTestKit to their own
files to reduce the size of RaftActorTest.

Change-Id: I75d0a1cfe0d0b168e488ce5cecda29dae4fe4321
Signed-off-by: Tom Pantelis <>
8 years agoMerge "CDS: Split out TransactionFutureCallback"
Moiz Raja [Fri, 10 Apr 2015 16:13:01 +0000 (16:13 +0000)]
Merge "CDS: Split out TransactionFutureCallback"

8 years agoMerge "Remove deprecation suppression"
Moiz Raja [Fri, 10 Apr 2015 16:12:02 +0000 (16:12 +0000)]
Merge "Remove deprecation suppression"

8 years agoMerge "Add generic arguments"
Moiz Raja [Fri, 10 Apr 2015 16:08:56 +0000 (16:08 +0000)]
Merge "Add generic arguments"

8 years agoMerge "Update lispflowmapping options in"
Moiz Raja [Fri, 10 Apr 2015 15:29:20 +0000 (15:29 +0000)]
Merge "Update lispflowmapping options in"

8 years agoMerge "Fixes Bug 2935"
Moiz Raja [Fri, 10 Apr 2015 15:28:23 +0000 (15:28 +0000)]
Merge "Fixes Bug 2935"

8 years agoMerge changes I114cbac1,I45c2e7cd
Moiz Raja [Fri, 10 Apr 2015 15:21:28 +0000 (15:21 +0000)]
Merge changes I114cbac1,I45c2e7cd

* changes:
  Calculate replicated log data size on recovery
  Refactor snapshot message processing to RaftActorSnapshotMessageSupport

8 years agoMerge "Verify BatchedModifications messages sent vs received"
Moiz Raja [Fri, 10 Apr 2015 15:20:04 +0000 (15:20 +0000)]
Merge "Verify BatchedModifications messages sent vs received"

8 years agoMerge "Use BatchedModifications message in place of ReadyTransaction message"
Moiz Raja [Fri, 10 Apr 2015 15:19:30 +0000 (15:19 +0000)]
Merge "Use BatchedModifications message in place of ReadyTransaction message"

8 years agoCDS: Split out TransactionFutureCallback 59/17859/6
Robert Varga [Tue, 7 Apr 2015 15:13:30 +0000 (17:13 +0200)]
CDS: Split out TransactionFutureCallback

This moves the TransactionFutureCallback inner class out of
TransactionProxy, so its interaction with TransactionProxy is defined
using methods.

Change-Id: Ib07bf91e32074b721552c8ef4952bbd40369283a
Signed-off-by: Robert Varga <>
8 years agoVerify BatchedModifications messages sent vs received 91/17891/5
Tom Pantelis [Wed, 8 Apr 2015 03:48:14 +0000 (23:48 -0400)]
Verify BatchedModifications messages sent vs received

A previous patch removed the verification of the response
Futures for BatchedModifications messages sent in
TransactionContextImpl. This was used to verify all modifications
were successfully received and processed by the transaction actor.

In lieu of that, this patch adds a totalMessagesSent field to
BatchedModifications and the transaction actor verifies it matches
the total number of messages received and successfully processed.

Change-Id: I247d3a09794142813cdca67b63d77412261a282b
Signed-off-by: Tom Pantelis <>
8 years agoUse BatchedModifications message in place of ReadyTransaction message 84/17884/5
Tom Pantelis [Tue, 7 Apr 2015 23:54:51 +0000 (19:54 -0400)]
Use BatchedModifications message in place of ReadyTransaction message

For the optimized write transactions (currently disabled), we used the
last BatchedModifications message with the ready flag set to elide
sending the ReadyTransaction message. We can do this in general for both
read-write and write-only.

In ShardWriteTransaction, if the BatchedModifications indicates ready,
it simply calls readyTransaction to send ForwardedReadyTransaction
message to the shard, same as with the ReadyTransacton message.

Instead of returning a BatchedModificationsReply with the cohort path,
I kept the ReadyTransactionReply so the Shard code mostly remains the
same - otherwise we'd have to introduce an equivalent
batched ForwardedReadyTransaction message.

I also made ReadyTransactionReply Externalizable so we don't have to
deal with sending it serialized or not (except for backwards
compatibility - had to keep the protobuff class).

TransactionContextImpl#readyTransaction is now the same as
WriteTransactionContextImpl#readyTransaction so
WriteTransactionContextImpl is no longer needed and was removed.

Change-Id: I5175c77ca08a1877af9593a28e7c4cb46f03287a
Signed-off-by: Tom Pantelis <>
8 years agoMerge "Refactor raft recovery code to a RaftActorRecoverySupport class"
Moiz Raja [Fri, 10 Apr 2015 13:04:08 +0000 (13:04 +0000)]
Merge "Refactor raft recovery code to a RaftActorRecoverySupport class"

8 years agoMerge "Remove recorded modification Futures from TransactionContext"
Moiz Raja [Fri, 10 Apr 2015 12:10:23 +0000 (12:10 +0000)]
Merge "Remove recorded modification Futures from TransactionContext"

8 years agoMerge "BUG 1848 : Use OrderedNormalizedNodeWriter in rpc transformation."
Tony Tkacik [Fri, 10 Apr 2015 09:59:33 +0000 (09:59 +0000)]
Merge "BUG 1848 : Use OrderedNormalizedNodeWriter in rpc transformation."

8 years agoMerge "BUG-1848 : OrderedNormalizedNodeWriter implementation"
Tony Tkacik [Fri, 10 Apr 2015 09:56:01 +0000 (09:56 +0000)]
Merge "BUG-1848 : OrderedNormalizedNodeWriter implementation"

8 years agoMerge "BUG-2953 : Unable to read from datastore root with clustering enabled"
Tom Pantelis [Fri, 10 Apr 2015 01:46:38 +0000 (01:46 +0000)]
Merge "BUG-2953 : Unable to read from datastore root with clustering enabled"

8 years agoUpdate lispflowmapping options in 21/17021/2
Lorand Jakab [Mon, 23 Mar 2015 19:40:51 +0000 (21:40 +0200)]
Update lispflowmapping options in

One property changed default and a new property was added, see

Change-Id: Icf91d2ddcc63ee13d2e23ad9a5673ca1bc1efb93
Signed-off-by: Lorand Jakab <>
8 years agoBUG-2953 : Unable to read from datastore root with clustering enabled 50/18050/2
Moiz Raja [Thu, 9 Apr 2015 17:53:55 +0000 (10:53 -0700)]
BUG-2953 : Unable to read from datastore root with clustering enabled

This patch adds a NormalizedNodeAggregator which makes it possible to read
from the root of the datastore tree.

Writing, merging and checking for the existence of the root path is not
supported yet but we could in a future patches if needed.

Change-Id: I892bdc733ec316f41926d8bbccdbbdc6c31a5c25
Signed-off-by: Moiz Raja <>
8 years agoBug 2358: Fixed warnings in Restconf 21/18021/3
Tony Tkacik [Thu, 9 Apr 2015 13:00:39 +0000 (15:00 +0200)]
Bug 2358: Fixed warnings in Restconf

Removed dead-code and fixed generics and casts
related warnings in restconf codebase.

Change-Id: I5cfad51fbf8856685259bcedd77ebe6d7527c899
Signed-off-by: Tony Tkacik <>
8 years agoStop swallowing exceptions in XmlElement optional methods. 32/18032/1
Tomas Cere [Tue, 7 Apr 2015 15:54:26 +0000 (17:54 +0200)]
Stop swallowing exceptions in XmlElement optional methods.

Performance increase.

Change-Id: I41629b5ea356be697629eb7f9238344f87a62a5e
Signed-off-by: Tomas Cere <>
8 years agoRemove deprecation suppression 50/13050/7
Robert Varga [Fri, 21 Nov 2014 17:04:24 +0000 (18:04 +0100)]
Remove deprecation suppression

Suppressed deprecation leads to false sense of completeness. This patch
removes suppression in tests, so we see how muchh of the code relies on
deprecated APIs.

Change-Id: I01d56f3ef4fe385806a8fbebdbe96fd6af63828c
Signed-off-by: Robert Varga <>
8 years agoBUG 1848 : Use OrderedNormalizedNodeWriter in rpc transformation. 98/17998/2
Tomas Cere [Wed, 8 Apr 2015 13:25:30 +0000 (15:25 +0200)]
BUG 1848 : Use OrderedNormalizedNodeWriter in rpc transformation.

Makes the rpc processing in netconf northbound and sal-netconf-connector use
the new ordered writer.

Change-Id: I1367ba07069fa5b6525358f265fe664d00d71500
Signed-off-by: Tomas Cere <>
8 years agoBUG-1848 : OrderedNormalizedNodeWriter implementation 97/17997/2
Tomas Cere [Wed, 8 Apr 2015 08:50:33 +0000 (10:50 +0200)]
BUG-1848 : OrderedNormalizedNodeWriter implementation

Writes nodes in the order defined in yang files.

Change-Id: I72b2a867ad47b2c9de0444a8a0a2f279a8360021
Signed-off-by: Tomas Cere <>
8 years agoRemove recorded modification Futures from TransactionContext 77/17777/3
Tom Pantelis [Fri, 3 Apr 2015 09:39:56 +0000 (05:39 -0400)]
Remove recorded modification Futures from TransactionContext

This removes the recorded batched modification message Futures
from TransactionContext to avoid the overhead of waiting for
the Futures to complete on ready and transforming them. The
Futures were recorded to ensure all modification messages
were successfully processed before committing the transaction
but we can do that by including the count of modification
messages sent in the ready message for the transaction actor
to verify (later patch).

Change-Id: I8d6ad80cac3e8e13fde48fbf5c57a476cca003dd
Signed-off-by: Tom Pantelis <>
8 years agoBUG-2967: Expose before-state from DataObjectModification 00/18000/1
Robert Varga [Thu, 9 Apr 2015 09:32:48 +0000 (11:32 +0200)]
BUG-2967: Expose before-state from DataObjectModification

Not exposing the before-state requires users to track this state
themselves. The problem is most visible in the delete case, if
the user needs some attributes to reconstruct keys to other structures
in order to perform cleanup -- they would effectively have to retain
a InstanceIdentifier->data map to efficiently perform deletes.

Rather than forcing everyone to duplicate data, expose the before-state,
as best available. Note that applications still need to deal with the
fact that the before-state in delete can be null -- at least by issuing
a warning to the operator.

Change-Id: I72c886f384254a6808159eaee612b07083073492
Signed-off-by: Robert Varga <>
8 years agoFix DataTreeIdentifier losing type 99/17999/1
Robert Varga [Thu, 9 Apr 2015 09:16:49 +0000 (11:16 +0200)]
Fix DataTreeIdentifier losing type

DataTreeIdentifier needs to retain the type of encapsulated
InstanceIdentifier, otherwise the users cannot really use it (or have to
suppress warnings/cast).

Change-Id: Icc7214923531f9ffeafe55b12a8ad6813d431573
Signed-off-by: Robert Varga <>
8 years agoRemove non-existant features-flow from dependencies 78/17978/1
Thanh Ha [Thu, 9 Apr 2015 01:38:03 +0000 (21:38 -0400)]
Remove non-existant features-flow from dependencies

Change-Id: I9018abd2e4c185cdfed92b5c7040360cf03cb394
Signed-off-by: Thanh Ha <>
8 years agoMerge "BUG 2799: SPI for EventSources"
Tony Tkacik [Wed, 8 Apr 2015 19:04:09 +0000 (19:04 +0000)]
Merge "BUG 2799: SPI for EventSources"

8 years agoAdd generic arguments 54/17254/3
Robert Varga [Fri, 27 Mar 2015 17:31:02 +0000 (18:31 +0100)]
Add generic arguments

This patch silences a few eclipse warnings about use of generic types
without proper arguments.

Change-Id: Ia260593e7b5b5fa4cb49894752a286c47aa7c049
Signed-off-by: Robert Varga <>
8 years agoMerge "Fixed NPE when RuntimeRpc could not find module in schemaContext."
Tony Tkacik [Wed, 8 Apr 2015 09:10:09 +0000 (09:10 +0000)]
Merge "Fixed NPE when RuntimeRpc could not find module in schemaContext."

8 years agoMerge "BUG 2889 : migration of netconf-cli to NormalizedNode api's"
Tony Tkacik [Wed, 8 Apr 2015 09:09:47 +0000 (09:09 +0000)]
Merge "BUG 2889 : migration of netconf-cli to NormalizedNode api's"

8 years agoMerge "Add DOMDataTreeIdentifier.toString()"
Tony Tkacik [Wed, 8 Apr 2015 09:06:14 +0000 (09:06 +0000)]
Merge "Add DOMDataTreeIdentifier.toString()"

8 years agoRemove isCloseMsg check for each rpc 98/17898/1
Maros Marsalek [Wed, 8 Apr 2015 07:08:40 +0000 (09:08 +0200)]
Remove isCloseMsg check for each rpc

Performance improvement

The check re-read the message and checked if its close-session rpc.
DelayedClose method was added to netconf server session that replaces the
isCloseSession method with a simple bollean check.

Change-Id: Ic4f6d473b948bd4f63771748dac793ba43693828
Signed-off-by: Maros Marsalek <>
8 years agoCalculate replicated log data size on recovery 09/17309/2
Tom Pantelis [Sat, 28 Mar 2015 14:23:40 +0000 (10:23 -0400)]
Calculate replicated log data size on recovery

We maintain the replicated log data size at runtme but we should also
calculate the data size for recovered entries on startup.

I changed the AbstractReplicatedLogImpl#append method to also add to the
dataSize. Previously dataSize was adjusted in ReplicatedLogImpl#appendAndPersist
after it was persisted. I'm not sure why it was done this way but if
persistence failed then the entry would've been added to the in-memory
log without increasing the dataSize. This seems inconsistent - if we add
to the log we should always increase the dataSize.

The same with removing entries from the log - ReplicatedLogImpl re-calculated
the dataSize after it was persisted. So I changed removeFrom to adjust
dataSize and changed ReplicatedLogImpl#removeFromAndPersist to call
AbstractReplicatedLogImpl#removeFrom (code was duplicated).

To avoid out-of-band changes to dataSize I made it private. Same with
journal. I think this is safer - these should be owned by
AbstractReplicatedLogImpl and derived classes shouldn't modify these

Change-Id: I114cbac1d6a450bc0a1c8c6ee60042ad28a89bf4
Signed-off-by: Tom Pantelis <>
8 years agoRefactor snapshot message processing to RaftActorSnapshotMessageSupport 66/17266/4
Tom Pantelis [Thu, 26 Mar 2015 18:07:48 +0000 (14:07 -0400)]
Refactor snapshot message processing to RaftActorSnapshotMessageSupport

Refactored the snapshot message handling to a new class
RaftActorSnapshotMessageSupport.  To handle the callbacks to the
RaftActor, the RaftAciorRecoverySupport takes a RaftActorSnapshotCohort interface.
The abstract on* methods in RaftActor are now defined in the
RaftActorSnapshotCohort interface. The derived RaftActor class
implements an abstract method to return a RaftActorSnapshotCohort

Shard returns an instance of a new class ShardSnapshotCohort. For
createSnapshot, it needs to create a Shard transaction actor so I
refactored out a ShardTransactionActorFactory from Shard which is
also used for transaction create messages.

The ShardTransaction constructor previously took a SchemaContext is no
longer used. Rather than storing the SchemaContext in
ShardTransactionActorFactory and keeoing it up to date, I removed
SchemaContext from ShardTransaction which cascaded changes down to the
derived actor classes and unit tests.

Change-Id: I45c2e7cd31b07fec10585b8e5e0495b96842d37c
Signed-off-by: Tom Pantelis <>
8 years agoRefactor raft recovery code to a RaftActorRecoverySupport class 47/17247/6
Tom Pantelis [Thu, 26 Mar 2015 10:23:07 +0000 (06:23 -0400)]
Refactor raft recovery code to a RaftActorRecoverySupport class

Moved the RaftActor recovery message handling to a new class
RaftActorRecoverySupport. To handle the callbacks to the RaftActor,
the RaftActorRecoverySupport takes a RaftActorRecoveryCohort interface.
The abstract on* methods in RaftActor are now defined in the
RaftActorRecoveryCohort interface. The derived RaftActor class
implements an abstract method to return a RaftActorRecoveryCohort
instance. Shard returns a ShardRecoveryCoordinator instance (modified to
implement RaftActorRecoveryCohort).

Change-Id: I07a068aad277b6f677d7703c4e10686efe0cf0cc
Signed-off-by: Tom Pantelis <>
8 years agoMerge "Bug 2933: BidningDOMDataBrokerAdaper implements DataTreeChangeService"
Tom Pantelis [Tue, 7 Apr 2015 18:17:20 +0000 (18:17 +0000)]
Merge "Bug 2933: BidningDOMDataBrokerAdaper implements DataTreeChangeService"

8 years agoMerge "Bug 2933: Make DataTreeModification and Listeners type-safe"
Tom Pantelis [Tue, 7 Apr 2015 18:16:32 +0000 (18:16 +0000)]
Merge "Bug 2933: Make DataTreeModification and Listeners type-safe"

8 years agoMerge "Bug 2933: Implemented DataTreeChangeService"
Tom Pantelis [Tue, 7 Apr 2015 18:15:31 +0000 (18:15 +0000)]
Merge "Bug 2933: Implemented  DataTreeChangeService"

8 years agoMerge "Make TransactionProxyCleanupPhantomReference self-contained"
Tom Pantelis [Tue, 7 Apr 2015 16:06:12 +0000 (16:06 +0000)]
Merge "Make TransactionProxyCleanupPhantomReference self-contained"

8 years agoMerge "CDS: introduce AbstractThreePhaseCommitCohort"
Tom Pantelis [Tue, 7 Apr 2015 16:05:00 +0000 (16:05 +0000)]
Merge "CDS: introduce AbstractThreePhaseCommitCohort"

8 years agoMerge "CDS: fix TransactionProxy close()/ready() interaction"
Tom Pantelis [Tue, 7 Apr 2015 16:01:49 +0000 (16:01 +0000)]
Merge "CDS: fix TransactionProxy close()/ready() interaction"

8 years agoMerge "Bug 2942: odl-mdsal-apidocs feature is not protected through AAA"
Tom Pantelis [Tue, 7 Apr 2015 14:01:54 +0000 (14:01 +0000)]
Merge "Bug 2942: odl-mdsal-apidocs feature is not protected through AAA"

8 years agoMake TransactionProxyCleanupPhantomReference self-contained 33/17533/18
Robert Varga [Wed, 1 Apr 2015 11:27:25 +0000 (13:27 +0200)]
Make TransactionProxyCleanupPhantomReference self-contained

This tracker can be broken out cleanly, if we clean up interactions with
TransactionProxy and TransactionFutureCallback. That allows us to split
the class out, making it self-contained. Leaking fields from
TransactionProxy will be fixed up in a follow-up patch.

Change-Id: I14dbb44a2c94e758ad492222eaa9d038f5b6b858
Signed-off-by: Robert Varga <>
8 years agoCDS: introduce AbstractThreePhaseCommitCohort 18/17618/8
Robert Varga [Thu, 2 Apr 2015 10:52:08 +0000 (12:52 +0200)]
CDS: introduce AbstractThreePhaseCommitCohort

This is a rework of ChainedTransactionProxy/TransactionProxy
interactions. Rather than invoking a callback from TransactionProxy to
ChainedTransactionProxy, wrap the ready() call in
ChainedTransactionProxy and extract the required information from the
returned cohort object. Also make sure we preallocate the cohort future

Change-Id: I539ffb085800e4d62f1eab5bc8dae284e73c6aab
Signed-off-by: Robert Varga <>
8 years agoCDS: fix TransactionProxy close()/ready() interaction 12/17612/6
Robert Varga [Thu, 2 Apr 2015 09:58:48 +0000 (11:58 +0200)]
CDS: fix TransactionProxy close()/ready() interaction

TransactionProxy is vulnerable to wrong use of close() after ready().
Fix this up so we detect this condition and make it explicit what
happens when.

Change-Id: Id966b57ce53cdc92bc3e53cb0d38b77303ba1c54
Signed-off-by: Robert Varga <>
8 years agoFixed NPE when RuntimeRpc could not find module in schemaContext. 40/17840/1
Tomas Cere [Tue, 7 Apr 2015 13:15:58 +0000 (15:15 +0200)]
Fixed NPE when RuntimeRpc could not find module in schemaContext.

Change-Id: I40c72d413f23753e95fd5f0bb42cc78046a6494f
Signed-off-by: Tomas Cere <>
8 years agoBug 2933: BidningDOMDataBrokerAdaper implements DataTreeChangeService 28/17528/4
Tony Tkacik [Wed, 1 Apr 2015 10:52:45 +0000 (12:52 +0200)]
Bug 2933: BidningDOMDataBrokerAdaper implements DataTreeChangeService

Change-Id: Ia28d8452a6c203c88c7d1e18208362cf779a7b20
Signed-off-by: Tony Tkacik <>
8 years agoBug 2933: Make DataTreeModification and Listeners type-safe 27/17527/4
Tony Tkacik [Wed, 1 Apr 2015 10:50:57 +0000 (12:50 +0200)]
Bug 2933: Make DataTreeModification and Listeners type-safe

Introduced generic to DataTreeModification, DataTreeChangeListener
and DataTreeIdentifier which captures target type from InstanceIdentifier
so users does not have to deal with casts by themselves.

Added utility walker methods to DataObjectModification, which
are possible thanks to DataTreeModification capturing target type.

Change-Id: Ia3566ae3dbe98fb118b49cc8ac8e1925fc111d8b
Signed-off-by: Tony Tkacik <>
8 years agoBug 2933: Implemented DataTreeChangeService 26/17526/4
Tony Tkacik [Wed, 1 Apr 2015 10:37:52 +0000 (12:37 +0200)]
Bug 2933: Implemented  DataTreeChangeService

DataTreeChangeService implementation is based on DOM Data Tree
change service and serves only as an adapter, which lazily
translates events and data in events as they are accessed
by user code.

This is rather different behaviour from DataChangeListener
where API contract required semi-eager deserialization
of supplied instance identifier.

Change-Id: If4954e966acc21ffec36e8cc37f95717492a1675
Signed-off-by: Tony Tkacik <>
8 years agoMerge "Refactor ReplicatedLogImpl to separate class"
Moiz Raja [Tue, 7 Apr 2015 02:17:34 +0000 (02:17 +0000)]
Merge "Refactor ReplicatedLogImpl to separate class"

8 years agoMerge "Bug 2588: Fix read transaction failures"
Moiz Raja [Tue, 7 Apr 2015 01:51:30 +0000 (01:51 +0000)]
Merge "Bug 2588: Fix read transaction failures"

8 years agoMerge "Fix bug bug 2651 - XSQL does not pickup augmentation data "
Moiz Raja [Tue, 7 Apr 2015 01:48:15 +0000 (01:48 +0000)]
Merge "Fix bug  bug 2651 - XSQL does not pickup augmentation data "

8 years agoBug 2903: Turning on clustering by default 13/14313/10
Ed Warnicke [Tue, 3 Mar 2015 17:04:47 +0000 (09:04 -0800)]
Bug 2903: Turning on clustering by default

See Weather event:

Change-Id: I36b64d7eb657641bacfe2fd6e53a595baf2ad4a0
Signed-off-by: Ed Warnicke <>
8 years agoFix bug bug 2651 - XSQL does not pickup augmentation data 47/16847/5
Sharon Aicler [Thu, 19 Mar 2015 17:51:59 +0000 (10:51 -0700)]
Fix bug  bug 2651 - XSQL does not pickup augmentation data

Change-Id: I350de6ccf5efd8e427c5823a0f03c91e0df33f19
Signed-off-by: Sharon Aicler <>
8 years agoBug 2942: odl-mdsal-apidocs feature is not protected through AAA 09/17709/2
Ryan Goulding [Fri, 3 Apr 2015 14:44:59 +0000 (10:44 -0400)]
Bug 2942: odl-mdsal-apidocs feature is not protected through AAA

This change enforces AAA on the URL endpoints supported by odl-mdsal-apidocs.
The security model prohibits any access to the controller without
authentication.  This change mandates AAA for odl-mdsal-apidocs URLs.

Change-Id: I74226e702568077d769353d5fe49fe21cd187266
Signed-off-by: Ryan Goulding <>
8 years agoAdd DOMDataTreeIdentifier.toString() 53/17453/2
Robert Varga [Tue, 31 Mar 2015 14:10:33 +0000 (16:10 +0200)]
Add DOMDataTreeIdentifier.toString()

A proper toString() method is needed for debugging.

Change-Id: Iab13a38f6134aafa982fa5a9127fc5ccdd179416
Signed-off-by: Robert Varga <>
8 years agoMerge "Remove SimpleDataTreeCandidate"
Tony Tkacik [Thu, 2 Apr 2015 20:46:28 +0000 (20:46 +0000)]
Merge "Remove SimpleDataTreeCandidate"

8 years agoFixes Bug 2935 81/17581/3
Abhishek Kumar [Wed, 1 Apr 2015 19:01:08 +0000 (12:01 -0700)]
Fixes Bug 2935

Details for the issue is documented here:

This patch updates mapException implementation to
appropriately handle exceptions.

Change-Id: I104ea62453517e2c6a74955f6b3cce342274a9e5
Signed-off-by: Abhishek Kumar <>
8 years agoBug 2588: Fix read transaction failures 82/17682/1
Tom Pantelis [Thu, 2 Apr 2015 19:45:30 +0000 (15:45 -0400)]
Bug 2588: Fix read transaction failures

TransactionContextImpl#read now sends the ReadData message immediately
instead of waiting for the previous modification operation Futures to
complete. This ensures the read will be performed by the actor before
the transaction is readied. Also did the same for dataExists.

Change-Id: I9c56b32162a957e27f9ff01485686e90ebec77a7
Signed-off-by: Tom Pantelis <>
8 years agoBUG 2799: SPI for EventSources 01/16401/9
Marian Adamjak [Thu, 26 Mar 2015 11:07:33 +0000 (12:07 +0100)]
BUG 2799: SPI for EventSources

Introduced SPI for Event Sources

 - created separate messagebus-spi module
 - moved Netconf Event Source implementation
   to separate package

Change-Id: I13d55f803a80c655c71137414265041d99b11aa0
Signed-off-by: Marian Adamjak <>
8 years agoMerge "Split out ChainedTransactionProxy"
Tom Pantelis [Thu, 2 Apr 2015 11:33:59 +0000 (11:33 +0000)]
Merge "Split out ChainedTransactionProxy"

8 years agoMerge "Split out NoOpDOMStoreThreePhaseCommitCohort"
Tom Pantelis [Thu, 2 Apr 2015 11:33:08 +0000 (11:33 +0000)]
Merge "Split out NoOpDOMStoreThreePhaseCommitCohort"

8 years agoMerge "Speed up class check"
Tom Pantelis [Thu, 2 Apr 2015 11:32:05 +0000 (11:32 +0000)]
Merge "Speed up class check"

8 years agoMerge "Speed up enumeration lookups"
Tom Pantelis [Thu, 2 Apr 2015 11:30:14 +0000 (11:30 +0000)]
Merge "Speed up enumeration lookups"

8 years agoMerge "Add ForwardingDOMStoreThreePhaseCommitCohort"
Tom Pantelis [Thu, 2 Apr 2015 11:26:41 +0000 (11:26 +0000)]
Merge "Add ForwardingDOMStoreThreePhaseCommitCohort"

8 years agoSplit out ChainedTransactionProxy 30/17530/10
Robert Varga [Wed, 1 Apr 2015 10:47:27 +0000 (12:47 +0200)]
Split out ChainedTransactionProxy

Rather than having it as a inner class, move it into its own file,
increasing clarity.

Change-Id: I83d667db353cc01a950ac24da7ee68fc66ceb46d
Signed-off-by: Robert Varga <>
8 years agoSplit out NoOpDOMStoreThreePhaseCommitCohort 29/17529/10
Robert Varga [Wed, 1 Apr 2015 10:41:39 +0000 (12:41 +0200)]
Split out NoOpDOMStoreThreePhaseCommitCohort

This is an independent class, which has a single instance.

Change-Id: Icc16b6a9b83e5820e9031a2f73666142abe26256
Signed-off-by: Robert Varga <>