controller.git
2 years agoInline Entry.contains() 67/98367/1
Robert Varga [Mon, 8 Nov 2021 08:22:45 +0000 (09:22 +0100)]
Inline Entry.contains()

MutableUnsignedLongSet.add() has half of the check done in contains()
as an invariant. Inline the second part there, improving performance a
bit.

Thisleaves only UnsignedLongSet.contains() as the sole caller of
Entry.contains(). Inline it there, reducing the footprint a bit.

JIRA: CONTROLLER-2014
Change-Id: Ie38283a1fc46aff8fbc717a23aa9a068805636db
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit a8ebf0b87a2fd613a5b08bd9e295006415f7de27)

2 years agoRemove UnsignedLongSet.addImpl() 66/98366/1
Robert Varga [Mon, 8 Nov 2021 07:49:15 +0000 (08:49 +0100)]
Remove UnsignedLongSet.addImpl()

We now do not share utilities in UnsignedLongSet, hence relocate
implementation code to MutableUnsignedLongSet.add().

JIRA: CONTROLLER-2014
Change-Id: Id1578a8ea639ed512d55b2e6dca26de5abdf3ab0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit ec1d15d2b52cb8f378ff685c2c3400b71c5ec360)

2 years agoImprove UnsignedLongSet efficiency 65/98365/1
Robert Varga [Mon, 8 Nov 2021 07:42:03 +0000 (08:42 +0100)]
Improve UnsignedLongSet efficiency

We can use NavigableMap's higher() and floor() methods to elide object
object allocations.

JIRA: CONTROLLER-2014
Change-Id: I75747c58027caee2678e32187dbd628d60ce6604
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit fb830fa236f32513f759893270552e320c122c5d)

2 years agoUse ImmutableList.Builder in FrontendClientMetadata 22/98322/1
Robert Varga [Sat, 6 Nov 2021 14:20:11 +0000 (15:20 +0100)]
Use ImmutableList.Builder in FrontendClientMetadata

We are performing a defensive copy in constructor, hence it is
better to allocate a builder, skipping an untrusted copy operation.

Change-Id: I95d7aa90f6da325aaae6a340caf49a6e17fe9f64
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 42769c3ac0d99f8fe4f845fed66408ff4dfb2388)
(cherry picked from commit 127deda9e888af9f7f33fcc039570b9ca7eda0fb)

2 years agoUse ImmutableSortedSet for small ImmutableUnsignedLongSets 21/98321/1
Robert Varga [Sat, 6 Nov 2021 13:31:20 +0000 (14:31 +0100)]
Use ImmutableSortedSet for small ImmutableUnsignedLongSets

This adds a bit of indirection, but for a few entries this ends up
using arrays instead of an RB tree, offering better density.

JIRA: CONTROLLER-2012
Change-Id: I09714c6bf3272946f6cee4360f80a106453d0e61
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 318c0bbc4ecfdf532a4cc3e219508a7c5744d160)
(cherry picked from commit 48b7ce82dfd92584a0a1bfc33e72b5154a3bff79)

2 years agoUse UnsignedLongSet instead of RangeSet in metadata 20/98320/1
Robert Varga [Sat, 6 Nov 2021 10:18:54 +0000 (11:18 +0100)]
Use UnsignedLongSet instead of RangeSet in metadata

Split UnsignedLongSet into two implementations, mutable and immutable.
Use the mutable implementation in runtime tracking of identifiers and
use the immutable implementation for tracking identifiers in metadata.

The serialization format is kept compatible with RangeSets, although
that implies a minor penalty in serdes.

This switch ends up potentially using more objects for small sets, but
that is offset by not having Cut indirections and most notably being
resistent to allocation of huge arrays.

JIRA: CONTROLLER-2011
Change-Id: I0c84ffaaa4ce39299cef9006784b8aff78dd0f83
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit e9efe27538adb5ae575f77fda90f147d46341801)
(cherry picked from commit 4da04f2f6e68f8dc07860c9e440bef26d69f36a4)

2 years agoReimplement UnsignedLongRangeSet 19/98319/1
Robert Varga [Sat, 6 Nov 2021 01:15:46 +0000 (02:15 +0100)]
Reimplement UnsignedLongRangeSet

We are tracking simple discrete values, for which a RangeSet is an
overkill due to it being generalized utility working with all possible
ranges.

Reimplement UnsignedLongRangeSet as UnsignedLongSet, tracking discrete
closed ranges of longs, which improves both memory footprint and speed
of contains()/add() operations.

This also spots a failure to disconnect purged histories during
FrontendHistoryMetadataBuilder.toLeaderState().

JIRA: CONTROLLER-1720
Change-Id: I24fae4174201fd133a282f27589d6c274c06c8dc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 19a6bcd20358c883478ee3b82e67cb147113f1c0)
(cherry picked from commit 9468993ee0c3941c19f838586773537968921d63)

2 years agoImprove Frontend{Client,History}Metadata 18/98318/1
Robert Varga [Sat, 6 Nov 2021 09:20:00 +0000 (10:20 +0100)]
Improve Frontend{Client,History}Metadata

We are using Guava's immutable implementations, make sure we annotate
fields with @NonNull and use concrete types.

Change-Id: I4fc2a0ff39b2b8166deca41425771ea9ed04e469
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit a66474c41883733413a6851d49fb5ade892764b3)
(cherry picked from commit c3bbe471b3743b5145c67325839b0c2a36bc5275)

2 years agoSprinkle @NonNull on FrontendClientMetadataBuilder fields 17/98317/1
Robert Varga [Sat, 6 Nov 2021 09:18:02 +0000 (10:18 +0100)]
Sprinkle @NonNull on FrontendClientMetadataBuilder fields

We have two fields which are guaranteed to be @NonNull, mark them as
such, making it clear we comply to getIdentifier() contract.

Change-Id: I9159823fb6c8a4a3c064796cb6752f57d98846c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 535d499672a88b772ca0b296fa40882f8fd0cf03)
(cherry picked from commit 68017211f4b33f17d02266c50c786856c33b959b)

2 years agoCorrect Frontend{Client,History}Metadata deserialization 16/98316/1
Robert Varga [Sat, 6 Nov 2021 09:08:05 +0000 (10:08 +0100)]
Correct Frontend{Client,History}Metadata deserialization

We are turning Range.closedOpen() into Range.closed() during
deserialization, which the resulting ends up also covering the upper
bound, which it should not.

JIRA: CONTROLLER-1942
Change-Id: Ib8f9016e2eddcf014ff5e451ac82cd77b66d7019
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 546cd1fd100dbaa36908b22c2f422320dbd8c4b2)
(cherry picked from commit ceb67a6db5bef27cd1dd5374c1a75f1036c3c1d1)

2 years agoCorrect annotations 15/98315/1
Robert Varga [Fri, 5 Nov 2021 10:25:41 +0000 (11:25 +0100)]
Correct annotations

Correct @GuardedBy vs @Holding and add @NonNull annotations.

Change-Id: I2142b1c5910f2388e8f30a04f7ff8bc8237dde26
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d502ae8e1529b69af55a59c3e664a02457c05ec6)
(cherry picked from commit 8510e2ac3a9e182858de6f3de169429319048275)

2 years agoBump versions to 2.0.10-SNAPSHOT 02/97202/1
Robert Varga [Fri, 13 Aug 2021 10:35:19 +0000 (12:35 +0200)]
Bump versions to 2.0.10-SNAPSHOT

This starts the next development iteration.

Change-Id: I6631ef805109cc48220bc1e7b6f63685d9c390b8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump mdsal to 6.0.11 98/97198/1
Robert Varga [Thu, 12 Aug 2021 22:44:23 +0000 (00:44 +0200)]
Bump mdsal to 6.0.11

Pick up a few fixes from upstream.

Change-Id: I874ac236df92359badf741042f2a9765c60b5378
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoIgnore DataTreeChangeReply message 22/96622/1
Robert Varga [Tue, 13 Jul 2021 11:31:26 +0000 (13:31 +0200)]
Ignore DataTreeChangeReply message

DataTreeChangeListenerActor is sending replies towards shard on each
processed datatree change. This is not handled by Shard, which ends up
flooding dead letters.

Make sure we ignore these messages, so that the logs are cleaner. Also
speed up the non-null check in DTCLActor.

JIRA: CONTROLLER-1986
Change-Id: I11b172d778c5b8cdf16aec58e77ec7faa9b6b146
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d6bc529eaf624afe74d9bf9ee9ab0cb926bba576)

2 years agoFix sal-common-util dependencies 13/96613/1
Robert Varga [Thu, 1 Jul 2021 07:40:45 +0000 (09:40 +0200)]
Fix sal-common-util dependencies

We have a number of unused dependencies here, clean them up.

Change-Id: Ibc534ab9ba28a7e70270a042a1b8e55f8934bc28
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 7adae02ae943d3d537dafcda1f10877ab5040ea2)

2 years agoUpgrade lz4-java to 1.8.0 11/96611/1
Robert Varga [Tue, 29 Jun 2021 08:47:28 +0000 (10:47 +0200)]
Upgrade lz4-java to 1.8.0

https://github.com/lz4/lz4-java/releases/tag/1.8.0

Change-Id: Ica9bc96f8db76cb8dd8eda19264f72bfb1ea674c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 47de86692709658b4495d2566c91e7a61d62de91)

2 years agoCorrectly forward DOMDataTreeChangeListener.onInitialData() 09/96609/1
Robert Varga [Fri, 25 Jun 2021 12:13:25 +0000 (14:13 +0200)]
Correctly forward DOMDataTreeChangeListener.onInitialData()

When registering proxy listener, make sure we do not lose
onInitialData() events.

Change-Id: I2529d64d10f477ad52e90dec15d88c6228a47af0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit d33f2a4667e423fcbff25454f28412a5b3d01a42)

2 years agoBump versions to 2.0.9-SNAPSHOT 46/96246/1
Robert Varga [Tue, 18 May 2021 15:58:17 +0000 (17:58 +0200)]
Bump versions to 2.0.9-SNAPSHOT

This starts the next development iteration.

Change-Id: I7c11560ab1a604feb73b43b1d38b91e9c5c5413e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump upstream versions 40/96240/1
Robert Varga [Tue, 18 May 2021 10:45:21 +0000 (12:45 +0200)]
Bump upstream versions

Adopt:
- odlparent-7.0.10
- yangtools-5.0.10
- mdsal-6.0.10

Change-Id: I4d59befcaf1ba83daf6ca60d8ab2636f701f78d0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump to yangtools-5.0.9/mdsal-6.0.9 96/95396/1
Robert Varga [Mon, 1 Mar 2021 12:58:33 +0000 (13:58 +0100)]
Bump to yangtools-5.0.9/mdsal-6.0.9

Pick up latest updates from upstream.

Change-Id: Ib2efc9777468e85e43c364115e4d53b53d4991fe
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix docs version parsing 29/94429/1
Robert Varga [Thu, 21 Jan 2021 22:54:28 +0000 (23:54 +0100)]
Fix docs version parsing

We do not want to pick just any <version> tag that comes first,
as that well may be parent/version.

Change-Id: Ic51ca768f42de498dd86f470f839e64a063c1dd4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit b49f5b6f1bc751c045ef16d8c916291c15872543)

3 years agoBump versions to 2.0.8-SNAPSHOT 07/94507/1
Robert Varga [Fri, 8 Jan 2021 19:57:33 +0000 (20:57 +0100)]
Bump versions to 2.0.8-SNAPSHOT

This starts the next development iteration.

Change-Id: I34b05ca6ddd2975ae79cdf31751ccd2967f0aa12
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstream versions 06/94506/1
Robert Varga [Fri, 8 Jan 2021 19:55:35 +0000 (20:55 +0100)]
Bump upstream versions

Adopt:
- odlparent-7.0.8
- yangtools-5.0.8
- mdsal-6.0.8

Change-Id: Ic2e5c097607efd1874d843f7825de6f9d63cd92f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix initial datastore configuration 67/93867/1
tadei.bilan [Fri, 6 Nov 2020 14:47:25 +0000 (16:47 +0200)]
Fix initial datastore configuration

Shards need to be initialized with initial configuration upon creation,
otherwise they end up being reconfigured. Make sure callers are aware
of this caveat by requiring explicit properties on instantiation.

JIRA: CONTROLLER-1970
Change-Id: I3d6f96780d26435ac178ec9935f0f67befe3687a
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 282fd5f43263464180a2ecc806c0eb333f0f2c5c)

3 years agoEnable modernizer in sal-distributed-datastore 66/93866/1
Robert Varga [Tue, 17 Nov 2020 15:39:31 +0000 (16:39 +0100)]
Enable modernizer in sal-distributed-datastore

We are down to a single offender, suppress it and enable moderinizer
enforcement.

Change-Id: I9daf9f54276c48aac09e999327add7ade92dfc95
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 1b8b80be1a8c7dbc3de11d8e4e283a755fa9a14f)

3 years agoUse java.lang.ref.Cleaner for ClientBackedTransaction 65/93865/1
tadei.bilan [Fri, 23 Oct 2020 11:29:50 +0000 (14:29 +0300)]
Use java.lang.ref.Cleaner for ClientBackedTransaction

Improve temporary file clean up by using a Cleaner to dispatch
cleaning tasks. Since it gives us a Cleanable, we can dispense with
a tracking map and removal from it -- Cleanable makes sure it is
called exactly once.

JIRA: CONTROLLER-1911
Change-Id: I02d2ee57a9fada2c54ba06008b6c28681a709748
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit b0ea37067f7ac8d03cb785ce70616fa16a5ba5a4)

3 years agoSpeed up root overwrite check 64/93864/1
Robert Varga [Tue, 17 Nov 2020 14:48:13 +0000 (15:48 +0100)]
Speed up root overwrite check

We can use YangInstanceIdentifier.isEmpty() and extract the single
ModificationType we care about.

Change-Id: Ie29c32ea0b197547bce67a7b2ffdd530e79276da
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 5d761355a11fc761e8faccb36b05453013f1e4d1)

3 years agoUse Objects.requireNonNullElse() 63/93863/1
Robert Varga [Tue, 17 Nov 2020 14:42:04 +0000 (15:42 +0100)]
Use Objects.requireNonNullElse()

Modernizer is pointing this one out, drop the MoreObjects
dependency.

Change-Id: Ibfe3f79dae3b53bc30d130ae68bfab83214ee128
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 98137e91bb5896d111293f8109bed42b3454b943)

3 years agoUse java.lang.ref.Cleaner in controller.cluster.io 62/93862/1
tadei.bilan [Fri, 23 Oct 2020 11:12:06 +0000 (14:12 +0300)]
Use java.lang.ref.Cleaner in controller.cluster.io

Improve temporary file clean up by using a Cleaner to dispatch
cleaning tasks. Since it gives us a Cleanable, we can dispense with
a tracking map and removal from it -- Cleanable makes sure it is
called exactly once.

JIRA: CONTROLLER-1911
Change-Id: I5fb715102912359cf002129d25a7433199826982
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit e0e956ecf0a4e5085f33e67f4fb73141876f1668)

3 years agoBump versions to 2.0.6-SNAPSHOT 89/93289/2
Robert Varga [Fri, 23 Oct 2020 12:01:24 +0000 (14:01 +0200)]
Bump versions to 2.0.6-SNAPSHOT

This starts the next development iteration.

Change-Id: Id8dbfcef3080fc10bcb627d2b7cead0e6371e8c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMake sure to clear candidate from memory 20/93520/1
Tomas Cere [Tue, 3 Nov 2020 11:38:04 +0000 (12:38 +0100)]
Make sure to clear candidate from memory

The candidate needs to be cleared even when processing
replicated candidate(ie on a follower) as there is no need
to keep it deserialized in memory

JIRA: CONTROLLER-1928
Change-Id: I1403dbe27def5e0040a8d9f145a92ac06aae9d1e
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
(cherry picked from commit 5a824a836a00ff21a855d7339a2fa9b64678db52)

3 years agoExpose AskTimeoutException counter from DatastoreInfoMXBean 14/93114/1
Robert Varga [Thu, 22 Oct 2020 21:38:04 +0000 (23:38 +0200)]
Expose AskTimeoutException counter from DatastoreInfoMXBean

This is a natural place to keep track of all exceptions which
happen in datastore context. Hook an onComplete() to each future
which goes by and update the counter.

JIRA: CONTROLLER-1963
Change-Id: Ib208b377e1ab533993597660228b5fc87919e75b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 9045f6fc943e9794055463442dcfa9bce64b68d3)

3 years agoAdd multi journal configuration for segmented journal 81/93281/1
Tomas Cere [Fri, 29 May 2020 14:07:32 +0000 (16:07 +0200)]
Add multi journal configuration for segmented journal

We dont need to have large segments for operational shards.
Add in multi journal configuration that gets used when shard has
persistence turned off.

JIRA: CONTROLLER-1938
Change-Id: I39349503079ef03177c8b9b52909078c5f35d6ba
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit a3459dc797e4e0722b945b80bc8ef3123762fc8d)

3 years agoUpdate DataJournal interface 80/93280/1
Robert Varga [Fri, 16 Oct 2020 13:17:50 +0000 (15:17 +0200)]
Update DataJournal interface

The interface is not documented and we need to differentiate between
indices as viewed from segmented journal and the persistence journal
views.

JIRA: CONTROLLER-1954
Change-Id: Ibbc384b88f8d5567e9af18d83b9a84f7c9b9634c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 255e74efd633f2fbca7ce4f1372004d93cc81a10)

3 years agoMigrate SnapshotManagerTest 73/93273/1
Robert Varga [Thu, 22 Oct 2020 18:51:32 +0000 (20:51 +0200)]
Migrate SnapshotManagerTest

Use MockitoJUnitRunner to initialize mocks, which shows we have
unneeded stubbings and that we are lacking two stubs.

Change-Id: I5a4ebde09a72bb4d2c2ba9affa524731413bd02c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit a062d3218022ed84e91070bd8cf12bb6e76bd48a)

3 years agoMigrate ReplicatedLogImplTest 72/93272/1
Robert Varga [Thu, 22 Oct 2020 18:47:33 +0000 (20:47 +0200)]
Migrate ReplicatedLogImplTest

Use MockitoJUnitRunner to initialize mocks, which shows we have
unneeded stubbings.

Change-Id: Ib907fa4b027d063d3a0c3d7b9c0e94115ab39495
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 860d2ae83c910ed7a232cee3750cce497d23d268)

3 years agoDo not reset datasize after a fake snapshot 71/93271/1
tadei.bilan [Mon, 27 Jul 2020 10:18:29 +0000 (13:18 +0300)]
Do not reset datasize after a fake snapshot

If we reset dataSize from SnapshotManager's fake snapshot, we would
not have correctly accounted for on-disk size.

Fix this by exposing a simple knob, which allows suppressing dataSize
update during snapshotCommit().

JIRA: CONTROLLER-1957
Change-Id: I553ddb523ac8504892cc5353bfe4b002c25436ce
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit ff29db5dc6012f77bbe53f57ddce929b0de093b3)

3 years agoLog replicated log dataSize changes 70/93270/1
Robert Varga [Thu, 22 Oct 2020 18:10:01 +0000 (20:10 +0200)]
Log replicated log dataSize changes

This is a bit of critical state, make sure we recalculate it atomically
and log its changes.

JIRA: CONTROLLER-1957
Change-Id: I09532384ce5bbaf7218c0ffdb64799541037fafc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit e96021b2e492bbaf7efe0804628bfe055b9733f7)

3 years agoReformat AbstractReplicatedLogImpl 69/93269/1
Robert Varga [Thu, 22 Oct 2020 17:57:54 +0000 (19:57 +0200)]
Reformat AbstractReplicatedLogImpl

'final' on arguments, remove unnecessary type for empty list, add
a @NonNull return annotation.

Change-Id: I697c6fdd33e373478a645f3bbef987a054d8ed70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 12cca9dd5a7008d707222c68b053421594ae82b4)

3 years agoClean up AbstractReplicatedLogImplTest 68/93268/1
Robert Varga [Thu, 22 Oct 2020 17:54:11 +0000 (19:54 +0200)]
Clean up AbstractReplicatedLogImplTest

Use static imports for Assert methods, add final qualifiers.

Change-Id: I35f589b14e1188fa1fb94524065b562023687f27
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 41d3174038060e2c8dfd49dcb4f85e74dff50cd8)

3 years agoBump mdsal to 6.0.7 58/93258/1
Robert Varga [Thu, 22 Oct 2020 13:29:16 +0000 (15:29 +0200)]
Bump mdsal to 6.0.7

Pick up latest updates from upstream.

Change-Id: Icb194c5a20bffa43a3b9d64e1102095c243f9db8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCorrect javadoc reference 53/92953/2
Robert Varga [Mon, 12 Oct 2020 13:23:55 +0000 (15:23 +0200)]
Correct javadoc reference

We should not be referencing UntypedActor, but rather AbstractActor.

Change-Id: I6f17d818e2c03c9c4a9e0df26317212f28425734
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 3bdf1493c0ce4218a1a3e26cdf7c5c4af1d2aeeb)

3 years agoOdl-jolokia package superfluous artifacts 33/93033/2
Vladyslav Marchenko [Tue, 13 Oct 2020 06:38:19 +0000 (09:38 +0300)]
Odl-jolokia package superfluous artifacts

From /odl-jolokia/target/feature/feature.xml:
wrap:mvn: jar content is already in present in jolokia-osgi

JIRA: CONTROLLER-1961
Change-Id: I3d689cdedb002f9d97937671ebfe38127e1095e0
Signed-off-by: Vladyslav Marchenko <vladyslav.marchenko@pantheon.tech>
(cherry picked from commit f3c17d0d7c3e356f60f47ef460258d0373512acf)

3 years agoBump verions to 2.0.6-SNAPSHOT 20/93020/1
Robert Varga [Mon, 12 Oct 2020 09:11:20 +0000 (11:11 +0200)]
Bump verions to 2.0.6-SNAPSHOT

This starts the next development iteration.

Change-Id: I2c753eededdfd635799531df911dec6a0b3a578f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump upstream versions 19/93019/1
Robert Varga [Mon, 12 Oct 2020 09:08:40 +0000 (11:08 +0200)]
Bump upstream versions

Pick up odlparent-7.0.7, yangtools-5.0.7, mdsal-6.0.6 for latest
fixes.

Change-Id: I9a81b8eee714241b30bac8bd772db6f98697e958
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd a segmented DataJournal abstraction 15/92615/7
Robert Varga [Wed, 23 Sep 2020 10:24:52 +0000 (12:24 +0200)]
Add a segmented DataJournal abstraction

We are going to change the way we organize journal entries within
a segmented file. Add DataJournal abstraction which exposes
a unified interface towards the SegmentedJournalActor.

Current implementation is split out from SegmentedJournalActor
as DataJournalV0.

JIRA: CONTROLLER-1954
Change-Id: I0d1de42b22e75610d0434548483091e3359123e4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoCorrect mdsal-it-base dependencies 52/92852/1
Robert Varga [Fri, 2 Oct 2020 10:56:50 +0000 (12:56 +0200)]
Correct mdsal-it-base dependencies

This is a weird dance of dependencies, for which we need to match
the content of pax-exam-features.

Change-Id: Ia011022174f8d633f3ec3ac17cd2f8d7d33a7ee0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 2.0.5-SNAPSHOT 94/92594/1
Robert Varga [Tue, 22 Sep 2020 15:37:36 +0000 (17:37 +0200)]
Bump versions to 2.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I41c77600cfde36c0e74087472272a4890dd13122
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump mdsal to 6.0.5 81/92581/1
Robert Varga [Tue, 22 Sep 2020 08:25:19 +0000 (10:25 +0200)]
Bump mdsal to 6.0.5

Pick up the released version.

Change-Id: I785e24cdccb12a2f3da3ac03abe008a7c521681b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert messagebus-impl to OSGi DS 74/91774/14
Robert Varga [Thu, 30 Jul 2020 15:28:37 +0000 (17:28 +0200)]
Convert messagebus-impl to OSGi DS

messagebus-impl is an extremely simple component, convert it to
Declarative Services.

JIRA: CONTROLLER-1882
Change-Id: I5131530f3ba907525a7a29775136cd5123f56f18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert cluster-admin to OSGi DS 73/91773/14
Robert Varga [Thu, 30 Jul 2020 15:17:26 +0000 (17:17 +0200)]
Convert cluster-admin to OSGi DS

This is a very simple component, convert it to declarative services.

JIRA: CONTROLLER-1882
Change-Id: I664db0ef3cbf6b5cf900d969fa56bc04440c2604
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump odlparent/yangtools/mdsal to 7.0.6/5.0.6/6.0.5-SNAPSHOT 04/91804/6
Robert Varga [Fri, 31 Jul 2020 15:03:04 +0000 (17:03 +0200)]
Bump odlparent/yangtools/mdsal to 7.0.6/5.0.6/6.0.5-SNAPSHOT

Since CONTROLLER-1882 needs a few changes from upstream, bump to
released odlparent/yangtools and snapshot mdsal.

Change-Id: Ic2a74eb7d989e8da859fec471ba7c442374bef70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRemove java.desktop dependency 27/92127/7
tadei.bilan [Thu, 13 Aug 2020 07:58:27 +0000 (10:58 +0300)]
Remove java.desktop dependency

Remove java.beans dependency to be able to run without java.desktop module

JIRA: CONTROLLER-1910
Change-Id: Ib7cfba1e0ec4694e0f63586837486a00e9863ea3
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
3 years agoAdd direct in-memory journal threshold 99/91299/10
tadei.bilan [Tue, 21 Jul 2020 09:24:09 +0000 (12:24 +0300)]
Add direct in-memory journal threshold

Some deployments benefit from placing an absolute numeric limit
on the retained memory. Introduce a new tunable, which overrides
the usual percentange limit.

JIRA: CONTROLLER-1956
Change-Id: I688e226b173386765bea74931b6aaf617bda30a8
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDoc update for "Extend Websocket streams for data-less notifications" enhancement. 86/91886/1
Nikhil Soni [Wed, 5 Aug 2020 14:31:07 +0000 (20:01 +0530)]
Doc update for "Extend Websocket streams for data-less notifications" enhancement.

Refer: https://git.opendaylight.org/gerrit/c/netconf/+/89928

JIRA: NETCONF-689
Signed-off-by: Nikhil Soni <nsoni@luminanetworks.com>
Change-Id: I5e36f30a61fb6313c85f34fbe9721c5a5fbc317d

3 years agoInstantiate distributed datastore asynchronously 95/91795/8
Robert Varga [Fri, 31 Jul 2020 10:44:27 +0000 (12:44 +0200)]
Instantiate distributed datastore asynchronously

With OSGi DS we can have very explicit control over component
activations. Use component factory pattern, which provides async
publish of DOMStore into service registry. This allows us to
make startup asynchronous).

JIRA: CONTROLLER-1882
Change-Id: Id09f956ec9088388ec5cbd3162d128310baddf51
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRefactor DataStore readiness tracking 94/91794/2
Robert Varga [Fri, 31 Jul 2020 09:34:22 +0000 (11:34 +0200)]
Refactor DataStore readiness tracking

Using a CountDownLatch is not composable, which leads to current
layout. Switch to using a SettableFuture, which can be accessed
via AbstractDataStore.initialSettleFuture().

This allows us to externalize the settle policy, letting callers
decide what to actually do.

JIRA: CONTROLLER-1882
Change-Id: Iaf9a359cfc2507ae35688fca3673c13713c2b427
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert netty-timer-config to OSGi DS 78/91778/2
Robert Varga [Thu, 30 Jul 2020 17:07:38 +0000 (19:07 +0200)]
Convert netty-timer-config to OSGi DS

This is an extremely simple forwarder, convert it to OSGi DS.

JIRA: CONTROLLER-1882
Change-Id: I8fbb71fba704e273b8e1c8fa79b4e4dd90aeff31
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert netty-event-executor-config to OSGi DS 77/91777/2
Robert Varga [Thu, 30 Jul 2020 16:10:41 +0000 (18:10 +0200)]
Convert netty-event-executor-config to OSGi DS

This is an extremely simple forwarder, convert it to OSGi DS.

JIRA: CONTROLLER-1882
Change-Id: Iff74bad52a78adcb6398b09300f6bfa7457dea7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert sal-distributed-eos to OSGi DS 72/91772/2
Robert Varga [Thu, 30 Jul 2020 14:56:40 +0000 (16:56 +0200)]
Convert sal-distributed-eos to OSGi DS

This is a simple component, there is just no need to use blueprint.

JIRA: CONTROLLER-1882
Change-Id: If64faff3cab0e66303b5e2d5db4af7f9ea2a2b50
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert sal-distributed-datastore to OSGi DS 70/91770/4
Robert Varga [Thu, 30 Jul 2020 11:28:18 +0000 (13:28 +0200)]
Convert sal-distributed-datastore to OSGi DS

This is a follow-up patch, converting more of blueprint wiring to
OSGi Declarative Services.

JIRA: CONTROLLER-1882
Change-Id: Ibb0a9f57c470e5572b64e85fdf87a093594d0367
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert FileModuleShardConfigProvider to OSGi DS 56/91756/3
Robert Varga [Wed, 29 Jul 2020 10:09:34 +0000 (12:09 +0200)]
Convert FileModuleShardConfigProvider to OSGi DS

This is a simple injected holder, convert it to a full-blown
component.

JIRA: CONTROLLER-1882
Change-Id: I6676055801c178c4ffb4137ec6721128014dedde
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert DatastoreSnapshotRestore to OSGi DS 23/91723/6
Robert Varga [Tue, 28 Jul 2020 12:39:25 +0000 (14:39 +0200)]
Convert DatastoreSnapshotRestore to OSGi DS

This is a simple holder used extract restoration code, split it out
of manual blueprint.

JIRA: CONTROLLER-1882
Change-Id: Ic7f97fa1a2b0302c7f1ccc14a9a79fe7fce57412
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMigrate DatastoreContextIntrospectorFactory to OSGi DS 97/91397/3
Robert Varga [Fri, 17 Jul 2020 17:21:41 +0000 (19:21 +0200)]
Migrate DatastoreContextIntrospectorFactory to OSGi DS

We are slowly converting hand-written blueprint config to OSGi DS,
so that we can end up ditching blueprint completely. This is the
next small step towards that goal.

Change-Id: I398d71344bccfef752128c561d6d2ff851edc5c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 2.0.4-SNAPSHOT 58/91658/1
Robert Varga [Sun, 26 Jul 2020 17:16:20 +0000 (19:16 +0200)]
Bump versions to 2.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: Ie6bdb44e3c37ad598206520556a2380708d44430
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd optional lz4 compression for snapshots 92/90092/27
tadei.bilan [Thu, 25 Jun 2020 12:42:47 +0000 (15:42 +0300)]
Add optional lz4 compression for snapshots

Added ability to use lz4 compression both for snapshots sent to
followers and snapshots in storage.

JIRA: CONTROLLER-1936
Change-Id: I073120efddde869b10999450057b91e75f0ffe07
Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd optional timeout parameter for backup rpc 05/89905/8
Tomas Cere [Fri, 29 Mar 2019 11:38:10 +0000 (12:38 +0100)]
Add optional timeout parameter for backup rpc

Once the snapshot size grows large the backup rpc can take more
time than the default timeout value causing it to fail.
Add the option to override the timeout in the backup rpc.

Change-Id: I878066668f45abcfe758a7b90d34576bff1b7db0
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump odlparent/yangtools/mdsal to 7.0.5/5.0.5/6.0.4 01/91601/1
Robert Varga [Thu, 23 Jul 2020 21:05:37 +0000 (23:05 +0200)]
Bump odlparent/yangtools/mdsal to 7.0.5/5.0.5/6.0.4

Pick up latest upstream fixes.

Change-Id: Ia8b756565d22c5b6f39c77b1cc9b8ce3dc0b2aa0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDo not fail on warnings for docs-linkcheck 92/91192/2
Thanh Ha [Fri, 10 Jul 2020 14:57:46 +0000 (10:57 -0400)]
Do not fail on warnings for docs-linkcheck

This is a workaround due to sphinx-tabs being incompatible with the
Sphinx linkchecker which throws a warning. We mainly use linkchecker
to catch broken links so we don't really need to fail on warnings as
the main "docs" builder will still fail for warning level issues so
this is a reasonable workaround.

Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: If3e7cea79528ed31fadcea7c7a4c4e13315d1fcd

3 years agoSpeed up DatastoreContextIntrospector a bit 96/91396/2
Robert Varga [Fri, 17 Jul 2020 16:52:12 +0000 (18:52 +0200)]
Speed up DatastoreContextIntrospector a bit

We can rely on static QNames and pre-computed YangInstanceIdentifier
to reduce the amount of transcoding we do.

Change-Id: Ibae5a6938703e12dc7584de002fb7cd0538d8289
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump odlparent/yangtools/mdsal to 7.0.4/5.0.4/6.0.3 77/91277/8
Robert Varga [Sat, 11 Jul 2020 18:58:08 +0000 (20:58 +0200)]
Bump odlparent/yangtools/mdsal to 7.0.4/5.0.4/6.0.3

Pick up latest upstream fixes.

Change-Id: Ic661675cfc75311d2dace18997f4626033a2cdd6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix controller-docs 80/91280/2
Robert Varga [Sun, 12 Jul 2020 11:20:14 +0000 (13:20 +0200)]
Fix controller-docs

We are referencing a few provided annotations, make sure docs
are seeing them as well.

Change-Id: Iffd0d7e9441441f44cb0c2126812d872e707755e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoConvert sal-remoterpc-provided to OSGi DS 78/91278/5
Robert Varga [Sun, 12 Jul 2020 10:22:35 +0000 (12:22 +0200)]
Convert sal-remoterpc-provided to OSGi DS

Declarative Services offer better integration with OSGi lifecycle,
use them instead of blueprint.

Change-Id: I49b41fa0fba4714f54e097820b85aefe7da67364
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFactor out ActorSystemProvider from blueprint 76/91276/6
Robert Varga [Sun, 12 Jul 2020 08:23:57 +0000 (10:23 +0200)]
Factor out ActorSystemProvider from blueprint

ActorSystemProvider is quite simple, make it completely independent
of blueprint.

Change-Id: I45233cad19ec8580d45d387efe627ab0935ce2eb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoTurn FileAkkaConfigurationReader into a component 75/91275/5
Robert Varga [Sun, 12 Jul 2020 07:55:19 +0000 (09:55 +0200)]
Turn FileAkkaConfigurationReader into a component

This is a clearly standalone implementation of a common service,
turn it into a properly-injected component.

Change-Id: I521c3433093ab3aa911aa870c10b3d4e2bff8418
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd INFO.yaml for controller 23/91223/1
Anil Belur [Sat, 11 Jul 2020 04:00:35 +0000 (14:00 +1000)]
Add INFO.yaml for controller

Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: I6ea7fa47868c9cbfb5f8ff803a5ade7c38474aa8

3 years agoFix intermittent IT hangs 79/91079/1
Robert Varga [Fri, 10 Jul 2020 06:38:22 +0000 (08:38 +0200)]
Fix intermittent IT hangs

Integration tests may hang due to pax-exam/surefire interaction.
Switch to TCP communication channel to fix these.

Change-Id: Ic4713ff63b073fdf03b8ee072d5a4ccaa20bf48e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoEnable overwrite test suite 01/90701/11
Robert Varga [Thu, 25 Jun 2020 16:57:34 +0000 (18:57 +0200)]
Enable overwrite test suite

With data being split up correctly between shards, we can re-enable
the test suite for snapshot triggers.

JIRA: CONTROLLER-1913
JIRA: CONTROLLER-1950
Change-Id: Ibda02648682aee03cf4c5a0275f705d79dbe6b1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSplit modifications on datastore root 99/90699/10
Robert Varga [Thu, 25 Jun 2020 14:31:24 +0000 (16:31 +0200)]
Split modifications on datastore root

When we are dealing with modifications, we must not assume they are
not spanning shards. Specifically, we need to make sure we split
data when the user is targeting datastore root, as for those cases
we need to split top-level containers to their appropriate shards,
not the default shard.

JIRA: CONTROLLER-1950
Change-Id: Ie8ad233fed993fddd54a1e4865884fd4474fc81f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd a missing space 25/90725/2
Robert Varga [Fri, 26 Jun 2020 10:43:50 +0000 (12:43 +0200)]
Add a missing space

Logging message was missing a space here, fix that up.

Change-Id: I6523e43601c447f5fccb40d1bc901da45060fd81
JIRA: CONTROLLER-1913
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix NoSuchElementException in toString() 24/90724/2
Robert Varga [Fri, 26 Jun 2020 10:33:43 +0000 (12:33 +0200)]
Fix NoSuchElementException in toString()

Original patch missed the fact that an empty set will throw, fix
that up.

Change-Id: I2d0588ec0499475935d285b3be6db299a9d4d525
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSimplify LocalTransactionContext 22/90722/1
Stephen Kitt [Fri, 26 Jun 2020 09:31:19 +0000 (11:31 +0200)]
Simplify LocalTransactionContext

... by reverting to a variant of the previous executeModification()
implementation.

Change-Id: I9a0480868bce2682e4ecc0e635a4db9f897d8511
Signed-off-by: Stephen Kitt <skitt@redhat.com>
3 years agoRefactor TransactionContext.executeModification() 02/90702/7
Robert Varga [Thu, 25 Jun 2020 19:21:07 +0000 (21:21 +0200)]
Refactor TransactionContext.executeModification()

Shift allocation of modification objects to RemoteTransactionContext,
so that local and noop cases do not end up allocating remoting objects.

JIRA: CONTROLLER-1951
Change-Id: Iedddb54aa9e55ca0e4352ecb176077a25ef643f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoSplit TransactionChainProxy.combineWithPriorReadOnlyTxFutures() 10/90710/2
Robert Varga [Thu, 25 Jun 2020 21:35:55 +0000 (23:35 +0200)]
Split TransactionChainProxy.combineWithPriorReadOnlyTxFutures()

There is a common and uncommon path here, where we expect majority
of high-performance uses to short-circuit to no combining at all.

Split that simple case out, so that we aid JIT inlining and also
know in profiling runs which branches are usually taken.

Change-Id: I18aaa12837c472308b46b770551e606096f7c983
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoMove checking/logging out of executeModification() 97/90697/1
Robert Varga [Thu, 25 Jun 2020 13:58:43 +0000 (15:58 +0200)]
Move checking/logging out of executeModification()

We will need specialized methods to deal with modifications,
similar to what we are doing for read(). As a first step, split
out common bits. This inlining has the added benefit of not touching
class reflection data.

JIRA: CONTROLLER-1950
Change-Id: I88030331ad8fe9299e8e824e18571047c87c90c6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoClean up TransactionProxy a bit 96/90696/1
Robert Varga [Thu, 25 Jun 2020 13:53:30 +0000 (15:53 +0200)]
Clean up TransactionProxy a bit

An extra space and a superfluous else block.

Change-Id: I780f099c26ec60340f71054ab6cb31aca05ed441
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd an option to trigger snapshot creation on root overwrites 43/87943/17
Tibor Král [Fri, 21 Feb 2020 13:57:41 +0000 (14:57 +0100)]
Add an option to trigger snapshot creation on root overwrites

In some cases (such as DAEXIM import), it does not necessarily
make sense to retain previous data in the journal, as all of it
has been superseded.

JIRA: CONTROLLER-1913
Change-Id: I5d634faac06e6764a417c23e88c728373b900924
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
3 years agoFix MD-SAL feature references 85/90585/1
Robert Varga [Mon, 22 Jun 2020 20:22:20 +0000 (22:22 +0200)]
Fix MD-SAL feature references

References should be using ranges to allow seamless version bumps,
make sure that happens.

Change-Id: I02fca32b29f25e6b59efdc3874c6315b94119dbf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd option to disable default ActorSystemQuarantinedEvent handling 52/90552/2
Tibor Král [Thu, 11 Jun 2020 08:28:55 +0000 (10:28 +0200)]
Add option to disable default ActorSystemQuarantinedEvent handling

The default reaction to ThisActorSystemQuarantinedEvent is to
restart the entire Karaf container. However some users may want
to process the event differently.

JIRA: CONTROLLER-1949
Change-Id: Id65d31749dd97cb067611f7cfe4df76a6fe12204
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoApply a workaround for the isolation of quarantined node 79/90279/8
Tejas Nevrekar [Thu, 4 Jun 2020 12:44:23 +0000 (18:14 +0530)]
Apply a workaround for the isolation of quarantined node

Listen to the AssociationErrorEvent in addition to
the ThisActorSystemQuarantinedEvent so that in cases
like isolate followed by unisolate, the quarantine
restart is triggered.

JIRA: CONTROLLER-1941
Change-Id: I937a9411c90fbbbaad73769efbc4e996369448a8
Signed-off-by: Tejas Nevrekar <tejas.nevrekar@gmail.com>
3 years agoAdd UnsignedLongRangeSet.toString() 47/90447/1
Robert Varga [Mon, 15 Jun 2020 09:17:31 +0000 (11:17 +0200)]
Add UnsignedLongRangeSet.toString()

This makes the rangeset a wee bit more useful for debugging purposes.

Change-Id: Ie7a38fa980463be5255201996cd7b06ab50bde2f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAllow incremental recovery 77/87077/13
Tibor Král [Wed, 22 Jan 2020 11:53:41 +0000 (12:53 +0100)]
Allow incremental recovery

Expose configuration knob in DatastoreContext to specify the
amount of recovered journal entries after which a Snapshot should
be taken and the journal purged.

JIRA: CONTROLLER-1915
Change-Id: I4b20a0abe0329965ca5ac1ab5df7d9ca8480cfb2
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
3 years agoBump versions to 2.0.3-SNAPSHOT 02/90402/1
Robert Varga [Thu, 11 Jun 2020 17:13:41 +0000 (19:13 +0200)]
Bump versions to 2.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: Iafc37f7955df2e965fc6cc436f521416f7c9c4a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoRegister global PurchaseCarProvider 01/90401/1
Robert Varga [Thu, 11 Jun 2020 16:17:07 +0000 (18:17 +0200)]
Register global PurchaseCarProvider

routed-rpc used to create a global registration, which we lost
during migration. Fix that.

JIRA: CONTROLLER-1947
Change-Id: Ifa3a13d8bb2a6caab9d58dd97903186c7c27dfed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump MRI versions 88/90388/1
Robert Varga [Wed, 10 Jun 2020 20:23:05 +0000 (22:23 +0200)]
Bump MRI versions

Bump to:
- odlparent-7.0.3
- yangtools-5.0.3
- mdsal-6.0.2

Change-Id: Ifbbdcc6d5e1691a9c59cc9b26b7fcd1ec09288cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoAdd sender actor to the ForwardingDataTreeChangeListener 59/90259/1
Tibor Král [Thu, 4 Jun 2020 16:50:51 +0000 (18:50 +0200)]
Add sender actor to the ForwardingDataTreeChangeListener

The ForwardingDataTreeChangeListener is created when a shard
registers new listener. It then sends dataTreeChanges to said listener
but doesn't specify the sender. The RootListenerActor however needs
to know which shard produced the DataTreeChanged message.

Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Change-Id: I4971cfaefa10c3136e0ddcc350ec7e00e68e6b42

3 years agoFix OpsManager registry instantiation 33/90233/3
Robert Varga [Wed, 3 Jun 2020 13:51:54 +0000 (15:51 +0200)]
Fix OpsManager registry instantiation

We have a day-zero bug with actions, as OpsManager ends up
instantiating the wrong actor -- hence we have two RpcRegistry
instances and no ActionRegistry instances.

JIRA: CONTROLLER-1943
Change-Id: I3b374454af3225cf13d5e23e4fb6744bf3f9ed99
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoFix PeopleProvider activation 31/90231/2
Robert Varga [Wed, 3 Jun 2020 12:35:18 +0000 (14:35 +0200)]
Fix PeopleProvider activation

Detected by CSIT, this was broken during MD-SAL API removal. Rework
instantiation to use constructor injection and proper shutdown.
Fixes the following splat:

java.lang.NullPointerException: null
at org.opendaylight.controller.clustering.it.provider.PeopleProvider$1.onSuccess(PeopleProvider.java:74) ~[bundleFile:?]
at org.opendaylight.controller.clustering.it.provider.PeopleProvider$1.onSuccess(PeopleProvider.java:70) ~[bundleFile:?]
at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1078) ~[bundleFile:?]
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) ~[bundleFile:?]
at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1164) [bundleFile:?]
at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:958) [bundleFile:?]
at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:727) [bundleFile:?]
at com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.setResult(AbstractTransformFuture.java:247) [bundleFile:?]
at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:163) [bundleFile:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]

Change-Id: I08273c8112ec4d3592440975b77e4ce3467d78a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoDrop scope=runtime from features declaration 89/90189/1
Robert Varga [Mon, 1 Jun 2020 13:02:33 +0000 (15:02 +0200)]
Drop scope=runtime from features declaration

features-controller* should have normal scope so they end up being
indexed in int/dist.

Change-Id: Id868c7dfbf894a23933698e4e4b868570c9b1059
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 years agoBump versions to 2.0.2-SNAPSHOT 56/90156/1
Robert Varga [Sun, 31 May 2020 09:16:40 +0000 (11:16 +0200)]
Bump versions to 2.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: Ife4b9975651ca572624bf2ef7525a33d45f90620
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>