controller.git
8 years agoRemove unused obsolete concepts code. 87/35087/4
Tony Tkacik [Fri, 19 Feb 2016 13:38:25 +0000 (14:38 +0100)]
Remove unused obsolete concepts code.

Change-Id: I7898e6ced3938ff245cbc9d4861bdce23e909d30
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
8 years agoRemoved non-building code. 84/35084/3
Tony Tkacik [Fri, 19 Feb 2016 13:36:06 +0000 (14:36 +0100)]
Removed non-building code.

Change-Id: Ic7ddbb76b3485704ffc48602c3081122cdd03d72
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
8 years agoMove JMX generator out of src/main 52/35052/3
Robert Varga [Fri, 19 Feb 2016 10:06:00 +0000 (11:06 +0100)]
Move JMX generator out of src/main

Move generated files to target/generated-sources/config-binding to make
sure we do not emit generated source files to src/main, where they run
risk of being added to SCM.

Change-Id: Idc8733dbfd5b125c96bfb49069a908174bfeefd0
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoUse {{VERSION}} for config files 20/35320/3
Robert Varga [Wed, 24 Feb 2016 10:16:01 +0000 (11:16 +0100)]
Use {{VERSION}} for config files

This detects failure to include a dependency, ensuring a failure.

Change-Id: I350a47ad7d844e0e61c818da796810c4ea1000dd
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-4329: remove references to JDT 58/35358/1
Robert Varga [Wed, 24 Feb 2016 20:43:18 +0000 (21:43 +0100)]
BUG-4329: remove references to JDT

Since we have migrated the lonely test using JDT, we can now remove
references to it.

Change-Id: Ic814ba20e11ce95e5d25260be4c7cebcd5a21565
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix broken downstream features 17/35317/1
Robert Varga [Wed, 24 Feb 2016 09:18:36 +0000 (10:18 +0100)]
Fix broken downstream features

factoryakkaconf needs to be spelled out in the dependency of
features-mdsal.

Change-Id: I71e7cff1076fc63c08f6debefc72107046f8337f
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBug 4866: Add wait/retries for routed RPCs 75/34175/4
Tom Pantelis [Fri, 5 Feb 2016 07:42:54 +0000 (02:42 -0500)]
Bug 4866: Add wait/retries for routed RPCs

If a routed RPC is registered on one node it takes a little time for the
route to propagate via gossip to other nodes. If another node tries to
invoke the RPC prior to propagation it fails. To alleviate this timing
issue, I added wait/retries via a timer in the RpcRegistry for the
FindRouters message. As routes are updated via gossip, it retries the
FindRouters request. If the timer triggers, it sends back an empty list.
The timer period is 10 times the gossip tick interval (500ms * 10 = 5s).

Change-Id: Iaafcfb4c93cde44f62f6645c8b8684102ac0d0db
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoFix sporadic failures in ClusterAdminRpcServiceTest 85/35285/2
Tom Pantelis [Tue, 23 Feb 2016 18:10:21 +0000 (13:10 -0500)]
Fix sporadic failures in ClusterAdminRpcServiceTest

The testAddShardReplica is failing sporadically indirectly due to
https://git.opendaylight.org/gerrit/#/c/35097/. The leader's payload
version was -1 so a transaction's BatchedModifications instance was
serialized to the legacy protobuf message type and thus wasn't delivered.

The underlying problem is that RaftActor.updateConfigParams
needs to pass the previous leader's payload version when re-constructing
the Follower instance on RaftPolicy change.

Change-Id: Id6b8da98c145f2e265dddbc1b27384d54e400370
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBug 5329: Add factory akka.conf 53/34553/5
Tom Pantelis [Fri, 12 Feb 2016 14:08:15 +0000 (09:08 -0500)]
Bug 5329: Add factory akka.conf

Added a factory akka.conf file that is shipped to
configuration/factory/akka.conf. This file contains all the necessary
akka settings. Modified the FileAkkaConfigurationReader to load the
existing configuration/initial/akka.conf file with the factory file as
the fallback. In this manner akka will overlay/merge the initial file
with the factory file. I pared down the initial file to only contain the
settings that users would normally set or configure to setup a cluster,
ie hostname, port, seed-nodes, roles.

In the features.xml, the factory file is configured to always overwrite
so changes are picked up on upgrade. We still preserve the initial file.

Change-Id: I8e80161e21d0ad0e26f1efa1023c670b3a5ef6bc
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove unused org.opendaylight.controller.xml.codec package/classes 14/35114/5
Tom Pantelis [Fri, 19 Feb 2016 16:12:17 +0000 (11:12 -0500)]
Remove unused org.opendaylight.controller.xml.codec package/classes

The org.opendaylight.controller.xml.codec utility classes in
sal-clustering-commons are no longer used so remove them. They were
originally used by the remote RPC code for conversion of the legacy
CompositeNode class which has since been removed. The code referencing
CompositeNode et al was removed from these classes but unused
remnants were left behind.

Change-Id: Ic8f880c8075f076549bb822f6dfbaaad81595ed1
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoFix TerminationMonitor to reference correct Monitor class 13/35113/5
Tom Pantelis [Fri, 19 Feb 2016 15:46:37 +0000 (10:46 -0500)]
Fix TerminationMonitor to reference correct Monitor class

The TerminationMonitor actor listens for messages of type
org.opendaylight.controller.cluster.datastore.messages.Monitor
but the AbstractUntypedActor sends a message of type
org.opendaylight.controller.cluster.common.actor.Monitor.
TerminationMonitor was changed to reference the right class and
org.opendaylight.controller.cluster.datastore.messages.Monitor was
removed.

Change-Id: Ie0e8dd4face529c3b40e1227fec575a8bd4c9425
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemoved unused class NonPersistent 12/35112/4
Tom Pantelis [Fri, 19 Feb 2016 14:38:10 +0000 (09:38 -0500)]
Removed unused class NonPersistent

Change-Id: I9d50829fc254307127980bd4304e40d0e600f09f
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove returnSerialized from ForwardedReadyTransaction 00/35100/4
Tom Pantelis [Fri, 19 Feb 2016 13:48:00 +0000 (08:48 -0500)]
Remove returnSerialized from ForwardedReadyTransaction

With the removal of the pre-Lithium transaction messages, the
returnSerialized field in ForwardedReadyTransaction is no longer used
and thus was removed.

Change-Id: I4a23ed77ee1960d3bb634511a2222dfcd213062f
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoChange BatchedModifications to extend VersionedExternalizableMessage 97/35097/8
Tom Pantelis [Fri, 19 Feb 2016 13:23:07 +0000 (08:23 -0500)]
Change BatchedModifications to extend VersionedExternalizableMessage

To be consistent with other transaction messages, changed
BatchedModifications to extend VersionedExternalizableMessage
via MutableCompositeModification.

Change-Id: I7dbf39f59b0e6263c38a062826eb6341b7cb16d1
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove clientTxVersion from ShardTransaction 96/35096/5
Tom Pantelis [Fri, 19 Feb 2016 11:59:21 +0000 (06:59 -0500)]
Remove clientTxVersion from ShardTransaction

With the removal of the pre-Lithium transaction messages,
ShardTransaction et al no longer need the clientTxVersion passed on
creation so this field was removed. When readying a tx, the version is
obtained from the BatchedModifications.

Change-Id: I96835f51f3665d205f93f6d98fd9497be5159510
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoFix unit test errors due to Mockito upgrade 11/35211/2
Tom Pantelis [Mon, 22 Feb 2016 05:08:52 +0000 (00:08 -0500)]
Fix unit test errors due to Mockito upgrade

The Mockito version was recently upgraded which causes some unit tests
to fail. Mockito no longer support never() used with timeout() so
workaround that.

Change-Id: I861e3ea198a630347b8de4c915d49b2718cc3d2c
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoSwitch aggregator to odlparent-lite 50/35150/3
Robert Varga [Sun, 21 Feb 2016 15:36:27 +0000 (16:36 +0100)]
Switch aggregator to odlparent-lite

Change-Id: Ib3711fc7eb6efab3ff6bd711195b227ad88c6205
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
8 years agoBUG-4329: switch to javaparser 53/35153/2
Robert Varga [Sun, 21 Feb 2016 16:07:10 +0000 (17:07 +0100)]
BUG-4329: switch to javaparser

Instead of using Eclipse JDT, which has not been published in ages, use
comgithub.javaparser, which supports Java 8 and is quite convenient.

Change-Id: I30d3975679b6b24952eabe5488fbce2db49ab0e6
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
8 years agoBUG-2912: Better document DataChangeScope.ONE 11/34911/4
Colin Dixon [Tue, 16 Feb 2016 18:06:50 +0000 (13:06 -0500)]
BUG-2912: Better document DataChangeScope.ONE

Provides information about the way this scope interacts with lists in and the
binding independent data tree that might be counterintuitive when compared with
a binding aware view of the same data.

Change-Id: If966331b4daa5a88be61fb2efea65a4b69495b0b
Signed-off-by: Colin Dixon <colin@colindixon.com>
8 years agoFix missing bundle 48/35148/1
Robert Varga [Sun, 21 Feb 2016 15:33:04 +0000 (16:33 +0100)]
Fix missing bundle

Change-Id: I9b8c0ca660e0101a2459f92dd16e36727f8ab9c3
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
8 years agoFix sporadic ShardManagerTest failures 28/34928/3
Tom Pantelis [Wed, 17 Feb 2016 18:55:20 +0000 (13:55 -0500)]
Fix sporadic ShardManagerTest failures

Some of the tests fail sporadically. Most were alleviated by:

  - using tell on an actor rather than calling receiveCommand directly
  - using the normal fork/join dispatcher for creating TestActors instead
    of the default CallingThread dispatcher.

After the changes the tests ran over 200 times successfully.

Change-Id: Ib2c7c3b6dace9e89dff54eccc58a2b8aabad75de
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBinding Codecs support of APPEARED,DISAPPEARED. 58/35058/2
Tony Tkacik [Fri, 19 Feb 2016 10:55:13 +0000 (11:55 +0100)]
Binding Codecs support of APPEARED,DISAPPEARED.

In BE two new modification types were introduced for
structural containers, but binding codecs were not
updated accordingly.

Frontend mapping is simple:
  APPEARED -> SUBTREE_MODIFIED
  DISAPPEARED -> DELETE

Change-Id: I62810c501234a62343150c328c6f2802402669c5
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
8 years agoRemove target-ide override 51/35051/2
Robert Varga [Fri, 19 Feb 2016 09:55:09 +0000 (10:55 +0100)]
Remove target-ide override

This was here for historic reasons. The interaction between IDE and
command-line maven are under-defined and this does not really solve
anything.

Change-Id: I77978199113f458e483a87241bf267975b4d9de3
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMake sure yang-maven-plugin executes in eclipse 23/34823/2
Robert Varga [Wed, 17 Feb 2016 12:37:38 +0000 (13:37 +0100)]
Make sure yang-maven-plugin executes in eclipse

Turn ignore into execute.

Change-Id: I231d6ff528987d07488320b95db9342d37c02354
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoReduce reliance on NormalizedNodeInputStreamReader 51/34851/2
Robert Varga [Wed, 17 Feb 2016 16:55:57 +0000 (17:55 +0100)]
Reduce reliance on NormalizedNodeInputStreamReader

Use NormalizedNodeDataInput instead.

Change-Id: I8c16fcdd1f69354a2616fe89b5a368feea1d3090
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoHide NormalizedNodeOutputStreamWriter 47/34847/6
Robert Varga [Wed, 17 Feb 2016 15:17:32 +0000 (16:17 +0100)]
Hide NormalizedNodeOutputStreamWriter

This is an internal implementation class, hide it.

Change-Id: Ib79d5a48dcf967f832b7130b981e5c22a593ef80
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRemove InputStream constructors 41/34841/4
Robert Varga [Wed, 17 Feb 2016 16:30:42 +0000 (17:30 +0100)]
Remove InputStream constructors

These are not used anywhere, remove them and simplify callers.

Change-Id: I1b7f28c8fb73903da2c3ddfe59defba56c44e364
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoNormalizedNodeDataOutput should be AutoCloseable 46/34846/3
Robert Varga [Wed, 17 Feb 2016 15:13:09 +0000 (16:13 +0100)]
NormalizedNodeDataOutput should be AutoCloseable

We expect to use autocloseable in implementations, make sure this this
reflected upwards.

Change-Id: Ia7e6b27e514cf04e24b0cdf161510a035846ba12
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRemove implements NormalizedNodeStreamWriter declaration 45/34845/3
Robert Varga [Wed, 17 Feb 2016 15:11:40 +0000 (16:11 +0100)]
Remove implements NormalizedNodeStreamWriter declaration

AbstractNormalizedNodeDataOutput already implements this class, no need
to declare it twice.

Change-Id: I4b217d00fe8054ce777b91b35157443438e65a54
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRemove NormalizedNodeStreamReader 42/34842/2
Robert Varga [Wed, 17 Feb 2016 14:47:20 +0000 (15:47 +0100)]
Remove NormalizedNodeStreamReader

This class has been superseded by NormalizedNodeDataInput, remove it.

Change-Id: I11c915f4aff6ca217e096c42ba1115043a99a3ab
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFollow-up to protobuff deprecation 38/34638/11
Robert Varga [Sun, 14 Feb 2016 22:34:49 +0000 (23:34 +0100)]
Follow-up to protobuff deprecation

Mark elements dealing with compatibility as @Deprecated. Reduces the
warning surface significantly.

Change-Id: I969c7b185cf6fbf570fe4d4d0332cff60eb0e4ca
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRemove unused variant of newShardProps() 24/34624/12
Robert Varga [Sun, 14 Feb 2016 02:22:11 +0000 (03:22 +0100)]
Remove unused variant of newShardProps()

This signature is unused, remove it to squash an eclipse warning.

Change-Id: I804961bfded0734a02fd00fb69979bb8b5b8feab
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoAdd SendInstallSnapshot javadoc 18/34618/12
Robert Varga [Sun, 14 Feb 2016 00:31:46 +0000 (01:31 +0100)]
Add SendInstallSnapshot javadoc

First cut at describing mechanics. Also make the class final and
annonate nullness.

Change-Id: I94119ab818713110dfab199b0e3f9e9608cfd583
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoClean AbstractServerChangeReply up 22/34622/9
Robert Varga [Sun, 14 Feb 2016 01:32:58 +0000 (02:32 +0100)]
Clean AbstractServerChangeReply up

This is an abstract base class, make it abstract and non-instantiable
from outside of the world. It introduces public API, hence we cannot
hide it.

Also switch to using MoreObjects.ToStringHelper, as that allows us to
unify toString().

Change-Id: I21bdd4d0815a50393519414449c7e7eb7179b077
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBug 4627: Fix premature RO tx cleanup 57/34757/1
Tom Pantelis [Tue, 16 Feb 2016 04:45:36 +0000 (23:45 -0500)]
Bug 4627: Fix premature RO tx cleanup

For the RO tx PhantomReference cleanup mechanism, modified
RemoteTransactionContextSupport to pass the front-end client
TransactionProxy instance as the referent to the
FinalizablePhantomReference. Previously we were passing the
RemoteTransactionContextSupport instance which is only reachable via
a hard reference until the primary shard actor is obtained and thus may
be eligible for GC while the TransactionProxy is still in use.

Change-Id: Ib2808b4ba8113a5722f9ee422434a89adaf775fe
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBug 4823: Use tx commit timeout for BatchedModifications 98/34298/3
Tom Pantelis [Mon, 8 Feb 2016 21:50:23 +0000 (16:50 -0500)]
Bug 4823: Use tx commit timeout for BatchedModifications

When sending BatchedModifications messages to the shard we use the
general operation timeout which is 5 sec. We should instead use the
transaction commit timeout to be consistent with the other transaction
messages (ReadyLocalTransaction, CanCommitTransaction etc).

Change-Id: I26bead59c29ee198f677838c5adb3614e3795a04
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoMake RequestVoteReply final 21/34621/6
Robert Varga [Sun, 14 Feb 2016 00:44:39 +0000 (01:44 +0100)]
Make RequestVoteReply final

Concrete message, it should never be subclassed.

Change-Id: Ie48a8cace763e1184ab47990136c5e5db3d453cf
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoDocument RaftRPC 19/34619/5
Robert Varga [Sun, 14 Feb 2016 00:36:31 +0000 (01:36 +0100)]
Document RaftRPC

Add some basic javadocs.

Change-Id: I1cd1a37e3979c497705baf3a2b508c058f1022ec
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoTurn OperationState into an abstract class 17/34617/4
Robert Varga [Sun, 14 Feb 2016 00:06:03 +0000 (01:06 +0100)]
Turn OperationState into an abstract class

This is an internal state class, no need to make it an interface. This
should make for faster dispatch, as methods offsets in vtable are fixed.

Change-Id: I3438a17485104b43647c91b7c6272dad5862cbb9
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoTurn SendHeartBeat into a singleton 16/34616/4
Robert Varga [Sat, 13 Feb 2016 23:53:53 +0000 (00:53 +0100)]
Turn SendHeartBeat into a singleton

There is no additional data, turn it into a singleton.

Change-Id: I5d562d798d27ba80e2b4de31a16faae80a3eaad3
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoTurn LeaderTransitioning into a singleton 15/34615/4
Robert Varga [Sat, 13 Feb 2016 23:49:14 +0000 (00:49 +0100)]
Turn LeaderTransitioning into a singleton

The message does not carry any state and can be made a singleton.

Change-Id: Iadcbe0cb8de949dbc57240772bcfd9ddf23d42ad
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoHide IsolatedLeaderCheck message 14/34614/4
Robert Varga [Sat, 13 Feb 2016 23:44:36 +0000 (00:44 +0100)]
Hide IsolatedLeaderCheck message

IsolatedLeaderCheck is a Leader-internal implementation detail. Do not
publish it to the outside world. Since it does not carry any state, we
can replace it by a simple object instance.

Change-Id: I6f9061e8141f499c590fd079f6c57e39f8b022d2
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMake FollowerInitialSyncUpStatus final 13/34613/4
Robert Varga [Sat, 13 Feb 2016 23:24:06 +0000 (00:24 +0100)]
Make FollowerInitialSyncUpStatus final

Change-Id: Ie39c26f077311e0ec5b9dd9b8734bdfabf26b581
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoTurn ElectionTimeout into a proper singleton 12/34612/4
Robert Varga [Sat, 13 Feb 2016 23:19:41 +0000 (00:19 +0100)]
Turn ElectionTimeout into a proper singleton

There is no need to instantiate this object multiple times. Turn it into
a singleton. Also add a bit of javadocs.

Change-Id: Ied90a43ec297409b8074875d305d7f74e1b37ce4
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMake NOOP_CALLBACK internal constant 08/34608/5
Robert Varga [Sat, 13 Feb 2016 22:01:14 +0000 (23:01 +0100)]
Make NOOP_CALLBACK internal constant

There are no outside users, make this a proper final constant and hide
it.

Change-Id: I06638758787b3fd0994b5d51fb4f2b2e5718aa57
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG-5247: notify listeners for entities which are not owned 79/34179/19
Robert Varga [Fri, 5 Feb 2016 17:45:40 +0000 (18:45 +0100)]
BUG-5247: notify listeners for entities which are not owned

Rather than broadcasting just the 'up' state, notify listeners about all
state we know of.

Change-Id: Iaae6db925a321aad420fa0ee8bdf8b56b5d2a29e
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMake GetSnapshot final and add a link 07/34607/5
Robert Varga [Sat, 13 Feb 2016 21:32:40 +0000 (22:32 +0100)]
Make GetSnapshot final and add a link

With a private consructor, this class is really final. Also add a
Javadoc reference to the response message.

Change-Id: I2cf9cf7d4b750597ac2dc122ee9d6412831522bd
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix raw type warnings 56/34556/7
Robert Varga [Fri, 12 Feb 2016 12:28:25 +0000 (13:28 +0100)]
Fix raw type warnings

Fixes NodeWithValue and similar raw type warnings. Also imports
YangInstanceIdentifier inner interfaces for more readable code.

Change-Id: Iaff9e250fff26b0da70dd9f24d7ccc72121630e4
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoDeprecate InstallSnapshot protobuff messages 68/33768/6
Tom Pantelis [Wed, 27 Jan 2016 07:33:32 +0000 (02:33 -0500)]
Deprecate InstallSnapshot protobuff messages

Deprecated the associated InstallSnapshot protobuff message and
changed InstallSnapshot to Externalizable. Backwards compatibility
with pre-boron is maintained. Related code was modified accordingly.

Previously InstallSnapshot took a ByteString. I changed this to byte[]
to avoid the extra copy overhead with ByteString with converting to and
from byte[].

Change-Id: I532d062983e76e63c685e6df1d48e0ae38197a5c
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoReduce output from DeadlockMonitor 61/34561/2
Tom Pantelis [Fri, 12 Feb 2016 14:56:46 +0000 (09:56 -0500)]
Reduce output from DeadlockMonitor

If a module doesn't finish after 5 sec, the DeadlockMonitor starts
logging warning messages. However it does this every second. CDS will
wait up to 90 sec for all shards to elect a leader so the
DeadlockMonitor produces a lot of output during this period. To reduce
the noise I changed the sleep to use WARN_AFTER_MILLIS so the message is
logged every 5 sec.

Change-Id: I63842075dee1fc6a4fc4e4200cc089e33a110e78
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove TransactionContext.supportsDirectCommit method 72/34472/2
Tom Pantelis [Wed, 10 Feb 2016 18:12:34 +0000 (13:12 -0500)]
Remove TransactionContext.supportsDirectCommit method

The supportsDirectCommit method was added for backwards compatibility
with pre-Lithium and thus can be removed to simplify the code. All the
current implementations return true.

Change-Id: I256e19b5c0b63a5371c70def72adc6c2a1427106
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoFix intermittent ShardTest failures 32/34632/2
Tom Pantelis [Sun, 14 Feb 2016 12:17:36 +0000 (07:17 -0500)]
Fix intermittent ShardTest failures

Some tests fail intermittenly due to modifying Shard state directly
instead of thru messages.

Change-Id: I704d6d23c1b2a47e78b3d8823a3136e921e9113b
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoMake Shutdown message a proper singleton 06/34606/3
Robert Varga [Sat, 13 Feb 2016 21:27:47 +0000 (22:27 +0100)]
Make Shutdown message a proper singleton

It holds no state and thus can be readily reused.

Change-Id: I7aba9266a476ddb79f456ce66dd46697c2e5ddb5
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoCleanup and document FindLeaderReply 05/34605/4
Robert Varga [Sat, 13 Feb 2016 20:58:40 +0000 (21:58 +0100)]
Cleanup and document FindLeaderReply

Adds javadoc describing FindLeaderReply and makes getLeaderActor()
return an Optional<String> instead of null. Also eliminate switch log
errors via Logger, not println();

Change-Id: I7efc98b6e652d7e01192b9bb6e1bd4ad1c9d8b76
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoDocument FindLeader message 04/34604/3
Robert Varga [Sat, 13 Feb 2016 20:48:08 +0000 (21:48 +0100)]
Document FindLeader message

Add Javadoc documentation and turn the message into a proper singleton,
as it does not currently hold any data.

Change-Id: Ib696b32234f048c4a9c7abb7a9972a00118219e5
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoMake methods static 55/34555/2
Robert Varga [Fri, 12 Feb 2016 12:08:22 +0000 (13:08 +0100)]
Make methods static

These private methods can be made static, let's do that.

Change-Id: I275e465f3424ae87f7a2a5ddaaca1f09c5072685
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix intermittent LeaderTest/CandidateTest failures 44/34544/2
Tom Pantelis [Thu, 11 Feb 2016 08:24:53 +0000 (03:24 -0500)]
Fix intermittent LeaderTest/CandidateTest failures

The test cases in LeaderTest and CandidateTest have been failing
intermittently. A particular test in CandidateTest has recently started
failing fairly regularly on jenkins for some reason.

The common denominator is that an initial message to an actor isn't
received and goes to dead letters instead, even though the actor was
just created. This seems related to the use of ActorSelection in the raft
behavior classes, I suspect a timing issue where the underlying actor
isn't actually created/available yet via actorSelection. I had seen this
in the past and attempted to alleviate it by adding a verifyActorReady to
TestActorFactory to verify with retries that the actor can be obtained via
actorSelection.resolveOne. However it doesn't appear resolveOne works as
advertised or maybe a successful call doesn't mean a message will
succeed.

I changed verifyActorReady to send an Identify message to the
actorSelection and verify successful response. On my system LeaderTest
would usually fail within 30 test runs. After the change it ran
successfully 400 times.

Change-Id: I2da7d4a4d14c68810e87fc64b711b5c80608f5d7
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoAdd raftVersion field to AppendEntriesReply 67/33767/6
Tom Pantelis [Tue, 26 Jan 2016 15:18:31 +0000 (10:18 -0500)]
Add raftVersion field to AppendEntriesReply

Added a raftVersion field to AppendEntriesReply and modified
AbstractLeader to store the raftVersion in the FollowerLogInformation.
This will enable sending the appropriate serialized version for
subsequent messages sent to the follower.

The raftVersion in the FollowerLogInformation is initialized to
0 (HELIUM_VERSION) so we assume the oldest version for backwards
compatibility until we get the first AppendEntriesReply with the
follower's actual version.

Since we're adding a new field to AppendEntriesReply this won't break
backwards compatibility as Java serialization handles that. The
raftVersion will be set to 0 if sent from a pre-boron version.

Change-Id: I4519c4f314674840f2578848b2888c3e8467dd21
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBUG-5247: Fix Optional.get() on absent return 24/34524/2
Robert Varga [Thu, 11 Feb 2016 23:41:25 +0000 (00:41 +0100)]
BUG-5247: Fix Optional.get() on absent return

The following exception is seen:

testCloseCandidateRegistrationInQuickSuccession(org.opendaylight.controller.cluster.datastore.entityownership.DistributedEntityOwnershipIntegrationTest)  Time elapsed: 3.158 sec  <<< ERROR!
java.lang.IllegalStateException: Optional.get() cannot be called on an absent value
    at com.google.common.base.Absent.get(Absent.java:47)
    at org.opendaylight.controller.cluster.datastore.entityownership.DistributedEntityOwnershipIntegrationTest.testCloseCandidateRegistrationInQuickSuccession(DistributedEntityOwnershipIntegrationTest.java:404)

Change-Id: I3765a05a332f4abba550177ae5516eb2644ea94d
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBug 5153: Add timestamp to TransactionIdentifier 19/34019/4
Tom Pantelis [Wed, 3 Feb 2016 06:43:38 +0000 (01:43 -0500)]
Bug 5153: Add timestamp to TransactionIdentifier

TransactionIdentifiers are created locally but sent to the remote leader
so it's possible, after a restart, for the remote leader to see the same id
for 2 different txns since the local counter starts at 1. To alleviate
this I added a timestamp to TransactionIdentifier. I could've just used
a UUID but the counter is useful for debugging and a full UUID would
make the string version pretty long for logging. I think an additional
millisec timestamp is sufficient.

Change-Id: Iaabd3d25eb64dd14053f96336c48de90d4364678
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoMake private methods static 90/34390/3
Robert Varga [Wed, 10 Feb 2016 12:15:10 +0000 (13:15 +0100)]
Make private methods static

These methods do not touch object state, make them static.

Change-Id: I9d29719cee7737ea8c36fa2e8fe39d4e245dd68c
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoShardTestKit.waitUntilLeader() is static 89/34389/3
Robert Varga [Wed, 10 Feb 2016 12:15:40 +0000 (13:15 +0100)]
ShardTestKit.waitUntilLeader() is static

Make its callers invoke it in a static way, without an instance.

Change-Id: Ic444a74af5c714b9b3e49ebc61fc97cf24d59d71
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix raw reference 92/34392/5
Robert Varga [Wed, 10 Feb 2016 12:34:27 +0000 (13:34 +0100)]
Fix raw reference

Class is generic, add <?> to method declaration.

Change-Id: Iab1dc09d9bbda553d326a1efe4356ae804a568df
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoNodeWithValue is generic 91/34391/4
Robert Varga [Wed, 10 Feb 2016 12:26:35 +0000 (13:26 +0100)]
NodeWithValue is generic

Add diamond contructor to fix eclipse warnings.

Change-Id: Ib7c35f70103a9dcb3fc101b91642c3822a242acb
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix raw type warnings 93/34393/5
Robert Varga [Wed, 10 Feb 2016 12:34:52 +0000 (13:34 +0100)]
Fix raw type warnings

AtomicFieldReferenceUpdater with generic classes causes a type safety
warning. Add raw type suppressions.

Change-Id: I8e27af2532f7fbc84a0e81bb046ffae4a10b2228
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoUse a singleton instead of an ArrayList 81/34181/4
Robert Varga [Fri, 5 Feb 2016 15:45:18 +0000 (16:45 +0100)]
Use a singleton instead of an ArrayList

Does not force instantiation on a backing array, hence it is
simpler/faster.

Change-Id: I0ab8af0b298e67fd571d7c4be0be5fca20cafbb3
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoSimplify listener management 80/34180/3
Robert Varga [Fri, 5 Feb 2016 15:14:39 +0000 (16:14 +0100)]
Simplify listener management

Instead of passing local fields as arguments, access the field directly.

Change-Id: I209f55644f81722f806aaf448a8e09e2c608f7cf
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoFix Eclipse errors with Java 8/Scala 87/34387/2
Robert Varga [Wed, 10 Feb 2016 11:37:38 +0000 (12:37 +0100)]
Fix Eclipse errors with Java 8/Scala

This adds workarounds for ambiguous method error reported by Eclipse.
The issue is reported and analyzed at
https://bugs.eclipse.org/bugs/show_bug.cgi?id=468276. This patch adds
alternative use of methods which trigger the behavior.

Change-Id: If463d4567e3555efff8e11b39e8708d0e51838c1
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoRefactor VersionedExternalizableMessage messages 71/33871/2
Gary Wu [Tue, 2 Feb 2016 00:45:25 +0000 (16:45 -0800)]
Refactor VersionedExternalizableMessage messages

Refactor VersionedExternalizableMessage messages
to centralize version checking in toSerializable().

Change-Id: I6ad4477eb16e104ab801205842875efa164817af
Signed-off-by: Gary Wu <gary.wu1@huawei.com>
8 years agoRemove deprecated Helium Payload methods 10/33510/7
Tom Pantelis [Sun, 24 Jan 2016 05:44:09 +0000 (00:44 -0500)]
Remove deprecated Helium Payload methods

Removed the deprecated encode/decode methods from Payload and its derived
classes.

Change-Id: I52beb2d3991efe9f3a7c2631b8682dc1f324e271
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoDeprecate CloseTransactionChain protobuff message 08/33508/7
Tom Pantelis [Sat, 23 Jan 2016 05:31:21 +0000 (00:31 -0500)]
Deprecate CloseTransactionChain protobuff message

Deprecate the associated CloseTransactionChain protobuff message and
change the message classes to extend VersionedExternalizableMessage.
Backwards compatibility with pre-boron is maintained. Related code was
modified accordingly.

The CloseTransactionChainReply message isn't used so it was removed.

Change-Id: I58d29eac9cb2f300f92dd4e5cb11484b215ddc48
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoPublic constants need to be final 64/34164/1
Robert Varga [Fri, 5 Feb 2016 14:45:29 +0000 (15:45 +0100)]
Public constants need to be final

Make constants really constant.

Change-Id: Iacca77288d0b53f578da367fd490ff69b4484a2a
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoJVM8: Remove PermSize and MaxPermSize options 25/34125/1
Lorand Jakab [Fri, 5 Feb 2016 08:47:12 +0000 (10:47 +0200)]
JVM8: Remove PermSize and MaxPermSize options

PermSize and MaxPermSize JVM options are not supported in Oracle Java 8.
Since Boron only supports Java 8, they no longer need to be set. This
avoids the following warning: "Java HotSpot(TM) 64-Bit Server VM
warning: ignoring option MaxPermSize=512m; support was removed in 8.0"

Change-Id: I9a8158113746db9a1edf5d7f62a3aaf24a652143
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoChoose owner when all candidate registrations received. 94/33494/4
Moiz Raja [Fri, 15 Jan 2016 20:38:11 +0000 (12:38 -0800)]
Choose owner when all candidate registrations received.

In the Delayed Owner Selection Strategy we should not wait for
the timeout to occur when we have received the candidate
registrations for all the candidates possible in the system.

Change-Id: Ifcd1f376b050baf2e422e00bd4a93a4d9d3d6c45
Signed-off-by: Moiz Raja <moraja@cisco.com>
8 years agoAdd notification-dispatcher configuration for default akka.conf. 95/33495/5
Moiz Raja [Sat, 16 Jan 2016 02:13:56 +0000 (18:13 -0800)]
Add notification-dispatcher configuration for default akka.conf.

Change-Id: I9d4983b9d435f527738a84aa03904f23ec2237c1
Signed-off-by: Moiz Raja <moraja@cisco.com>
8 years agoWhen no candidates are present for an entity do not return EntityOwnershipState 93/33493/4
Moiz Raja [Fri, 8 Jan 2016 04:18:01 +0000 (20:18 -0800)]
When no candidates are present for an entity do not return EntityOwnershipState

Change-Id: I22c0100755a1fca50c638ff4b435e04bdd0f76ff
Signed-off-by: Moiz Raja <moraja@cisco.com>
8 years agoFix reading of EntityOwnerSelectionStrategy 92/33492/4
Moiz Raja [Thu, 7 Jan 2016 22:07:02 +0000 (14:07 -0800)]
Fix reading of EntityOwnerSelectionStrategy

1. The pid used for reading a config admin file should not have hyphens
   so replaced them with dots
2. The config admin returns properties that are not from the file
   so we need a way to ignore them. I specifically look for the
   a prefix of "entity.type." and ignore the other properties

Change-Id: I26a66176583ec39cbdb78fec749022429218e005
Signed-off-by: Moiz Raja <moraja@cisco.com>
8 years agoRemove Helium protobuff code from AppendEntries 09/33509/5
Tom Pantelis [Sun, 24 Jan 2016 04:58:46 +0000 (23:58 -0500)]
Remove Helium protobuff code from AppendEntries

We no longer need the pre-lithium/legacy protobuff serialization code in
AppendEntries so remove along with some legacy test code that was using it.

Change-Id: Ie68338e9ac96b3acc3b0aa208b393fe41ff6dfd6
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove unused protobuff messages 07/33507/5
Tom Pantelis [Sat, 23 Jan 2016 05:05:24 +0000 (00:05 -0500)]
Remove unused protobuff messages

Removed the following unused protobuff messages:

   ShardManager.proto
   MockPayload.proto
   KeyValueMessages.proto
   SimpleNormalizedNode.proto

Change-Id: I245068fe7c9ead9ea70d9983e73984067c7655da
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove ListenerRegistration protobuff messages 06/33506/3
Tom Pantelis [Sat, 23 Jan 2016 00:08:10 +0000 (19:08 -0500)]
Remove ListenerRegistration protobuff messages

The ListenerRegistration protobuff messages are used to serialize the
corresponding CDS messages but we don't actually send these messages
over the wire so they don't need serialization. So the protobuff
messages were removed. If we do need to serialize these messages in he
future we won't use protobuff.

Change-Id: I3818a965e0fd4e1876364022f2de09b1bac216d5
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove DataChangeListener protobuff messages 05/33505/3
Tom Pantelis [Fri, 22 Jan 2016 23:36:56 +0000 (18:36 -0500)]
Remove DataChangeListener protobuff messages

The DataChangeListener protobuff messages are used to serialize the
corresponding CDS messages but we don't actually send these messages over
the wire so they don't need serialization. So the protobuff messages were
removed. If we do need to serialize these messages in the future we won't
use protobuff.

Change-Id: Ia72f3da2edbc6c1eeebfb022916894e2b1713840
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoHandle 3PC message backwards compatibility 86/33386/4
Tom Pantelis [Fri, 22 Jan 2016 19:03:04 +0000 (14:03 -0500)]
Handle 3PC message backwards compatibility

Modified the ThreePhaseCommitCohortProxy to send the appropriate 3PC
messages based on the backend cohort actor's version. The version is
supplied via a new CohortInfo class which also holds the existing cohort
ActorSelection Future. The caller actually specifies a Supplier to
obtain the version b/c the version may not be known until the
ActorSelection Future is known. The TransactionProxy passes a Supplier
which obtains the version from the TransactionContext. As a result, the
ThreePhaseCommitCohortProxy was refactored a bit to handle the CohortInfo
instances.

The ThreePhaseCommitCohortProxyTest was refactored to use real actors for
the cohorts instead of mocking messages via a mocked ActorContext.

Modified the ShardCommitCoordinator to return the appropriate versioned
replies.

Change-Id: I13e6acf81c1fe8abda43c30b1a73648e411ab500
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoDeprecate 3PC protobuff messages 85/33385/5
Tom Pantelis [Fri, 22 Jan 2016 11:34:19 +0000 (06:34 -0500)]
Deprecate 3PC protobuff messages

Deprecated the associated protobuff messages for

  CanCommitTransaction[Reply]
  CommitTransaction[Reply]
  AbortCommitTransaction[Reply]

The message classes now extend VersionedExternalizableMessage. Related
code was modified accordingly.

The PreCommitTransaction message is no longer used so it was removed.

Backwards compatibility with pre-boron will be implemented in the next
patch as ThreePhaseCommitCohortProxy needs some refactoring so the
appropriate cohort version can be used for the messages.

Change-Id: I8164ec82c7ef1623d38b1599af2f1c73fadb5300
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBUG-4869: use odl-lmax feature 22/33822/2
Robert Varga [Sun, 31 Jan 2016 00:43:58 +0000 (01:43 +0100)]
BUG-4869: use odl-lmax feature

Removes direct declaration of lmax version, pulling in odl-feature from
odlparent instead.

Change-Id: I52ca9433e25efc42159ee8929837f1b0d6f7292b
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoBUG 5115: Fix missing artifact exception in log 25/33625/4
oshvartz [Wed, 27 Jan 2016 10:53:00 +0000 (12:53 +0200)]
BUG 5115: Fix missing artifact exception in log

Add new dependency "org.apache.karaf.region.persist"
in karaf-parent pom to fix missing artifact exception
for region feature.

Change-Id: I1d08b69e4afee4e4911d9fc5be9cfd5250868b3f
Signed-off-by: oshvartz <oshvartz@redhat.com>
8 years agoBUG-2625: fix failures with Java 8-targetted artifacts 61/33661/2
Robert Varga [Wed, 27 Jan 2016 21:13:40 +0000 (22:13 +0100)]
BUG-2625: fix failures with Java 8-targetted artifacts

This patch bumps to use equinox 3.9.1 and removes the use of
mockito-all, fixing failures seen with source/target set to Java 8

Change-Id: I6964633e2c6b0de934045522c8f245fdb66901da
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoDeprecate ReadData/DataExists protobuff messages 78/33178/3
Tom Pantelis [Wed, 20 Jan 2016 12:57:38 +0000 (07:57 -0500)]
Deprecate ReadData/DataExists protobuff messages

Deprecated the associated ReadData, DataExists, and DataExistsReply protobuff
messages and changed the message classes to extend VersionedExternalizableMessage.
Backwards compatibility with pre-boron is maintained. Related code was modified
accordingly.

Change-Id: Ic9b1e79691ce77aecb36df38c1683deadac0c131
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoDeprecate CreateTransaction protobuff message 42/33142/5
Tom Pantelis [Wed, 20 Jan 2016 07:39:53 +0000 (02:39 -0500)]
Deprecate CreateTransaction protobuff message

Deprecated the associated CreateTransaction and CreateTransactionReply
protobuff messages and changed the message classes to extend
VersionedExternalizableMessage. Backwards compatibility with
pre-boron is maintained. Related code was modified accordingly.

One thing of note is wrt CreateTransactionReply. Previously it had a
version field that represented the leader shard's version. This is used
by the transaction front-end to send the appropriate version for
subsequent messages. However the front-end
RemoteTransactionContextSupport already knows the leader shard's version
from the PrimaryShardInfo which is used for write-only tx's and now the
CreateTransaction message so, to be consistent, it now always uses the
PrimaryShardInfo's version when creating the context instance.

Also I realized that the message versioning would correctly handle
backwards compatibility, ie a newer version sending to an older version,
but not the other way around. So for a newer version, 2, sending to an
older version, 1, the message version would be 1 and would be serialized
in the older format and would be correctly de-serialized on the other
end. However, for an older version, 1, sending to a newer version, 2,
the message version would be 2 but it would be serialized in the older
format and, on the other end, the recipient would see the version as 2
and think it's the newer/current version and it may not de-serialize
correctly. What we really want is to use the lower of the recipient's
version and the sender's version. So I modified the
VersionedExternalizableMessage ctor to do that.

I had to make a change to ShardTransactionChain but then realized it's
no longer used so I just removed it.

Change-Id: I18051c48ec4a8f4251e7acef1e1c24063e53ef24
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBug 5109: Handle stand alone leaf nodes in CDS streaming 28/33228/2
Tom Pantelis [Thu, 21 Jan 2016 15:59:50 +0000 (10:59 -0500)]
Bug 5109: Handle stand alone leaf nodes in CDS streaming

Modified AbstractNormalizedNodeDataOutput to output the leaf set QName
that is now passed to leafSetEntryNode if no parent LeafSetNode QName is
present. Modified NormalizedNodeInputStreamReader accordingly.

I also found that OrderedLeafSetNode was not handled correctly.
AbstractNormalizedNodeDataOutput#startOrderedLeafSet needs to set
lastLeafSetQName.

The NormalizedNodePruner assumed a leaf set entry node must have a
parent and threw an exception if not, similarly with leaf node and anyXML
node. But all 3 can be standalone so I modified NormalizedNodePruner to
handle it.

Change-Id: I02a71d9280dac0eb466ff401699a40d3d8826220
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBug 4992: Removed old leader's candidates on leader change 01/33601/2
Tom Pantelis [Wed, 27 Jan 2016 00:33:04 +0000 (19:33 -0500)]
Bug 4992: Removed old leader's candidates on leader change

Modified onLeaderChanged to call removeCandidateFromEntities same as
onPeerDown.

Change-Id: I9b56e64254485fa0de4fdc1b7f4f6ddf100338af
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove Helium ReadDataReply protobuff message 98/33098/3
Tom Pantelis [Wed, 20 Jan 2016 04:02:55 +0000 (23:02 -0500)]
Remove Helium ReadDataReply protobuff message

The ReadDataReply protobuff message was kept for backwards compatibility
with Helium so remove it.

Change-Id: I3a30f113903f6d908bea698c0bb9bc773046237e
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove deprecated ShardDataTree constructor 99/33499/1
Robert Varga [Mon, 25 Jan 2016 18:45:54 +0000 (19:45 +0100)]
Remove deprecated ShardDataTree constructor

The constructor without a TreeType has been deprecated in Beryllium,
remove it now.

Change-Id: I3248926594b892edaa931db2f1b77a0ef1dec145
Signed-off-by: Robert Varga <rovarga@cisco.com>
8 years agoDeprecate CloseTransaction protobuff message 41/33141/3
Tom Pantelis [Wed, 20 Jan 2016 06:19:18 +0000 (01:19 -0500)]
Deprecate CloseTransaction protobuff message

Deprecated the associated CloseTransaction and CloseTransactionReply
protobuff messages and changed the message classes to extend
VersionedExternalizableMessage. Backwards compatibility with pre-boron
is maintained. Related code was modified accordingly.

While the backend sends back the CloseTransactionReply, the transaction
front-end doesn't actually use it so I removed the protobuff-related
code in CloseTransactionReply as it doesn't matter which serialized
version is returned.

Change-Id: I42946bbb38c5ff84d05ee0578d8ca9c8f124d5ed
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove Helium Tx modify operation messages 55/33055/3
Tom Pantelis [Tue, 19 Jan 2016 23:18:19 +0000 (18:18 -0500)]
Remove Helium Tx modify operation messages

Removed the following deprecated Helium Tx messages and related code:

  DeleteData[Reply]
  MergeData[Reply]
  WriteData[Reply]
  ReadyTransaction

Also removed the associated protobuf message classes.

Change-Id: I6f5db0096a60b50e51bf94b12f38941a4be9ca20
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove deprecated PreLithium Tx context classes and related code 39/33039/2
Tom Pantelis [Tue, 19 Jan 2016 21:50:51 +0000 (16:50 -0500)]
Remove deprecated PreLithium Tx context classes and related code

Change-Id: I023f488f58096eef9173213d75befbe3cfc78da9
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoBump yangtools to 1.0.0-SNAPSHOT 90/33290/4
Thanh Ha [Thu, 21 Jan 2016 21:13:20 +0000 (16:13 -0500)]
Bump yangtools to 1.0.0-SNAPSHOT

Change-Id: Ic55c573d6d57b27cb8f2640c938e6b7eeb08a42f
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoReduce logging in QuarantinedMonitorActor 85/33185/2
Tom Pantelis [Wed, 20 Jan 2016 19:01:41 +0000 (14:01 -0500)]
Reduce logging in QuarantinedMonitorActor

The QuarantinedMonitorActor logs every AssociationErrorEvent as warn
which causes a lot of output when a peer node is down as akka raises a
conneciton-refused event every 5 sec until it re-connects. Since we're
only interested in the specific quarantined event, which is logged at
warn, other events should log to debug to avoid the noise.

Change-Id: I26ab7db9a71d137ae3227409d6dcbf39675c6ec9
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoClear out router event on completion 74/32874/2
Robert Varga [Sat, 16 Jan 2016 14:59:41 +0000 (15:59 +0100)]
Clear out router event on completion

Rather than keeping references on heap, clear references once the future
has been notified. Also some logging to enable debugging.

Change-Id: I2ab352db51134b30fb352a4adabc07eda0945841
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
8 years agoMake RequestVote immutable and change AbstractRPC#term to private 08/33008/3
Tom Pantelis [Mon, 18 Jan 2016 10:16:40 +0000 (05:16 -0500)]
Make RequestVote immutable and change AbstractRPC#term to private

RequestVote has setters which aren't used. This class should be
immutable with final fields.

RequestVote also overrides getTerm from AbstractRPC as do a couple other
classes. This is unnecessary. Also AbstractRPC#term was changed from
protected to private.

Change-Id: Ie8891b49a37c9580abe7e52e288861c37de26fcd
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
8 years agoRemove the leader's FollowerLogInformation on RemoveServer 02/33002/2
Tom Pantelis [Mon, 18 Jan 2016 09:03:58 +0000 (04:03 -0500)]
Remove the leader's FollowerLogInformation on RemoveServer

On RemoveServer, if removing follower, we need to also remove the
FollowerLogInformation entry from the followerToLog map in
AbstractLeader. Also, if a snapshot was being installed, we should
cleanup the mapFollowerToSnapshot.

Change-Id: I37df57a82a1c79ce375e48127bafd661a2dfe2c6
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>