controller.git
12 months agoDump DTCL changes on trace 50/105050/2 5.0.x
Robert Varga [Mon, 27 Mar 2023 09:34:52 +0000 (11:34 +0200)]
Dump DTCL changes on trace

Reduce memory usage by not dumping all changes at once, but rather each
of them separately and only when trace is enabled.

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

12 months agoUpgrade reflectasm to 1.11.9 40/105040/1
Robert Varga [Mon, 27 Mar 2023 11:58:44 +0000 (13:58 +0200)]
Upgrade reflectasm to 1.11.9

https://github.com/EsotericSoftware/reflectasm/issues/68, removing the
need to override ASM version.

Change-Id: I489f75a63f9649518493291fe0f36362d4011242
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump versions to 5.0.10-SNAPSHOT 57/104957/1
Robert Varga [Fri, 17 Mar 2023 07:14:28 +0000 (08:14 +0100)]
Bump versions to 5.0.10-SNAPSHOT

This starts the next development iteration.

Change-Id: Idbd26b146972ef01f7b730c241340769fc9a96d5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump upstreams 29/104929/1
Robert Varga [Thu, 16 Mar 2023 16:29:06 +0000 (17:29 +0100)]
Bump upstreams

Adopt:
- odlparent-10.0.6
- yangtools-8.0.10
- mdsal-9.0.8

Change-Id: I98bbe1c2d0a87ff533dc5b4219ba85cc38e4fa21
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoBump versions to 5.0.9-SNAPSHOT 23/103523/1
Robert Varga [Fri, 2 Dec 2022 14:57:41 +0000 (15:57 +0100)]
Bump versions to 5.0.9-SNAPSHOT

This starts the next development iteration.

Change-Id: I57bccbae601c9036c914bb948237c5de2471a036
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoDefine RaftVersions.ARGON_VERSION 22/103522/2
Robert Varga [Fri, 2 Dec 2022 08:00:40 +0000 (09:00 +0100)]
Define RaftVersions.ARGON_VERSION

Our serialization proxies result in a unnecessarity-big footprint.
Define their replacements for forward compatibility with Argon raft
version.

JIRA: CONTROLLER-2058
Change-Id: I545485c6abdf16f6d81a48672b36eb83613013e1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 9a091425d16dadf09a5be4e764785707f5253013)
(cherry picked from commit a796a637bb7272ca10777b206e7a68080beb32f3)

16 months agoAdd sal-akka-raft serialization assertions 19/103519/1
Robert Varga [Fri, 2 Dec 2022 06:55:33 +0000 (07:55 +0100)]
Add sal-akka-raft serialization assertions

We need to be in control of serialized payload size. This patch adds the
assertions on sizes.

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

16 months agoAssert new request sizes 02/103502/1
Robert Varga [Wed, 30 Nov 2022 14:26:48 +0000 (15:26 +0100)]
Assert new request sizes

We now have ABIVersion.CHLORINE_SR2, use it to test serialization
proxy sizes -- showing the improvements to size.

JIRA: CONTROLLER-2051
Change-Id: I8c37201e531c00c5ff9d1322db911dfbcf8fd97b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 8cfb2b25798db8916cb5d30e65cdf1bbfd07767c)

16 months agoAdd ABIVersion.CHLORINE_SR2 01/103501/1
Robert Varga [Wed, 30 Nov 2022 13:24:23 +0000 (14:24 +0100)]
Add ABIVersion.CHLORINE_SR2

We have a fresh set of serialization proxies used when we have a version
newer than MAGNESIUM. This patch defines that new version.

JIRA: CONTROLLER-2051
Change-Id: Id91201652afc9dd55d4b44c73bd2d9d3fa3853d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 8d4821705d12546cb554c5c2e67f446be81a28eb)

16 months agoAdd new cds-access-api proxies 00/103500/1
Robert Varga [Sun, 27 Nov 2022 12:59:16 +0000 (13:59 +0100)]
Add new cds-access-api proxies

Externalizable serialization format record class hierarchy, which leads
to significant overheads. This patch introduces proxies which are are
flat, i.e. have java.Object as their superclass, eliminating this
overhead.

The way we do this is we defined SerialForm interfaces which extend
Externalizable and define the serialization protocol in terms of default
methods. We then define a bunch of classes which are pure data holders
implementing individual SerialForms.

Also ensure messages properly implement cloneAsVersion() to propagate
the target version, now that it matters for them.

Finally audit use of java.io.Serial so that we do not import it -- it is
just pure overhead vs. using @java.io.Serial directly.

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

16 months agoAdd serialization size assertions for Request{Failure,Success} 81/103481/1
Robert Varga [Wed, 30 Nov 2022 13:37:20 +0000 (14:37 +0100)]
Add serialization size assertions for Request{Failure,Success}

We have a bunch of unasserted sizes, make sure we fill them in.

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

16 months agoAdd missing final keywords 76/103476/1
Robert Varga [Tue, 29 Nov 2022 21:07:21 +0000 (22:07 +0100)]
Add missing final keywords

We have a few ommissions here, fix that up.

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

16 months agoDefine efficient serialization proxies 68/103468/2
Robert Varga [Sat, 26 Nov 2022 17:35:35 +0000 (18:35 +0100)]
Define efficient serialization proxies

Superclasses have footprint in serialization protocol, as their
descriptors get written out.

Capture Externalizable logic into SerialForm, which implements
Externalizable -- the protocol to be easily implemented without a
superclass. This entails updating the API footprint of AbstractProxy
to reuse its methods.

Then introduce shorthand proxy classes which behave exactly like their
AbstractProxy counterparts, but without the AbstractProxy baggage.

This enables reading implied serialization format, if we encounter it,
providing forward compatibility with the format.

JIRA: CONTROLLER-2056
Change-Id: I4da54ca57849c2bfdaaf76c22e7903abcfa58be9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 2dedb8231e13abe55d6b75eb532d23dbe536e168)
(cherry picked from commit 6f7fad882fd24712fec365d287a2e5962d456572)

16 months agoAssert payload serialized size 59/103459/4
Robert Varga [Sat, 26 Nov 2022 11:42:15 +0000 (12:42 +0100)]
Assert payload serialized size

We want to be in control over the size of our serialization, make sure
to add assertions.

JIRA: CONTROLLER-2051
JIRA: CONTROLLER-2056
Change-Id: I72957eaf284bfd5498cfdb11301239ac50d612f1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit deaa438d6cb6d271bd800bb1879dbdc2360e5392)

16 months agoAdd serialVersionUID fields 58/103458/2
Robert Varga [Mon, 28 Nov 2022 17:38:48 +0000 (18:38 +0100)]
Add serialVersionUID fields

We are missing a few definitions and are about to modify the classes
in backwards-compatible ways, but the changes would end up changing
the versions. Make sure to define generated serialVersionUIDs.

JIRA: CONTROLLER-2051
JIRA: CONTROLLER-2056
Change-Id: I006f51e16dd3fee66fb9c344bb99235780b08d3e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 0597bd64ca6214fd3ca3fb152ab2ca7fd3b32ed5)

16 months agoBump upstreams 55/103455/1
Robert Varga [Mon, 28 Nov 2022 22:10:24 +0000 (23:10 +0100)]
Bump upstreams

Adopt:
- odlparent-10.0.5
- yangtools-8.0.9
- mdsal-9.0.7

Change-Id: I1d7452d790fa363d64216309e2ca11c48a676c2e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoSwitch default ABIVersion 42/102642/1
Robert Varga [Fri, 4 Nov 2022 21:09:56 +0000 (22:09 +0100)]
Switch default ABIVersion

Somehow we missed an update of version here. Make sure to use Magnesium.

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

17 months agoBump versions to 5.0.8-SNAPSHOT 40/102940/1
Robert Varga [Fri, 28 Oct 2022 21:08:43 +0000 (23:08 +0200)]
Bump versions to 5.0.8-SNAPSHOT

This starts the next development cycle.

Change-Id: I8bd45697a9dd6a399a72eb13bb315b3c38ee4c19
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
17 months agoBump upstreams 38/102938/1
Robert Varga [Fri, 28 Oct 2022 20:10:02 +0000 (22:10 +0200)]
Bump upstreams

Adopt:
- odlparent-10.0.4
- yangtools-8.0.8
- mdsal-9.0.6

Change-Id: I108995289c189afcd95c3b5cf22965179d81f5c7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 months agoBump scala to 2.13.10 72/102672/1
Robert Varga [Thu, 13 Oct 2022 13:42:31 +0000 (15:42 +0200)]
Bump scala to 2.13.10

https://github.com/scala/scala/releases/tag/v2.13.10

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

19 months agoBump Scala to 2.13.9 75/102275/1
Robert Varga [Thu, 22 Sep 2022 15:26:13 +0000 (17:26 +0200)]
Bump Scala to 2.13.9

https://github.com/scala/scala/releases/tag/v2.13.9

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

19 months agoBump Akka to 2.6.20 08/102308/2
Robert Varga [Wed, 7 Sep 2022 10:33:40 +0000 (12:33 +0200)]
Bump Akka to 2.6.20

https://akka.io/blog/news/2022/09/06/akka-2.6.20-released
https://github.com/real-logic/agrona/releases/tag/1.15.0
https://github.com/real-logic/agrona/releases/tag/1.15.1
https://github.com/real-logic/agrona/releases/tag/1.15.2
https://github.com/real-logic/aeron/releases/tag/1.38.0
https://github.com/real-logic/aeron/releases/tag/1.38.1

JIRA: CONTROLLER-2048
Change-Id: I4d3b2da9bd1a716403bfae5b957c73b05406ba15
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 2f5d6ed35dcae3c1ea40f89265410751c107e631)

19 months agoBump junit-4-13_2.13 71/102271/2
Robert Varga [Wed, 7 Sep 2022 16:13:02 +0000 (18:13 +0200)]
Bump junit-4-13_2.13

Adopt version 3.2.13.0.

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

19 months agoBump reactive-streams to 1.0.4 70/102270/1
Robert Varga [Wed, 7 Sep 2022 16:13:35 +0000 (18:13 +0200)]
Bump reactive-streams to 1.0.4

https://github.com/reactive-streams/reactive-streams-jvm/blob/master/RELEASE-NOTES.md#version-104-released-on-2022-05-20

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

20 months agoBump versions to 5.0.7-SNAPSHOT 87/102187/1
Robert Varga [Sat, 20 Aug 2022 14:19:15 +0000 (16:19 +0200)]
Bump versions to 5.0.7-SNAPSHOT

This starts the next development iteration.

Change-Id: I0c98e6098a5e13b6926b613a31a534849239a1c4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoBump upstreams 86/102186/1
Robert Varga [Sat, 20 Aug 2022 14:19:55 +0000 (16:19 +0200)]
Bump upstreams

Adopt:
- odlparent-10.0.3
- yangtools-8.0.7
- mdsal-9.0.5

Change-Id: I27f05291cd4293e4aff8e418d4fe05e7223cd3b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 months agoFix a documentation reference 85/102185/1
Robert Varga [Tue, 7 Jun 2022 09:06:24 +0000 (11:06 +0200)]
Fix a documentation reference

We do not use ConstructorProperties, fix the reference.

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

22 months agoBump versions to 5.0.6-SNAPSHOT 13/101313/1
Robert Varga [Thu, 26 May 2022 22:55:50 +0000 (00:55 +0200)]
Bump versions to 5.0.6-SNAPSHOT

This starts the next development iteration.

Change-Id: Ic4f639c4f44cd4dd6bfd3e02c281ba02f55a699e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
22 months agoAdd Payload.serializedSize() 10/101310/3
Robert Varga [Wed, 18 May 2022 07:15:22 +0000 (09:15 +0200)]
Add Payload.serializedSize()

There is a rather big difference in payload sizing when we consider
how big an entry is: in-memory size can easily be "zero", which can
translate to a serialized size of hundreds of bytes. This difference
is problematic, as we use the former to estimate how many payloads
we can squeeze in AppendEntries and we compare that to the configured
payload limit. Even when there is some (32KiB by default) cushion, we
can end up blowing past the frame size.

Add Payload.serializedSize(), which should provide a semi-conservative
estimate of serialized size and use that to select the cut-off.

Also improve SimpleReplicatedLogEntry's estimates by performing a a
quick serialization operation -- which reduces potential waste for each
entry by 294 bytes, as our hard-coded estimate of 400 bytes was way too
conservative.

JIRA: CONTROLLER-2037
Change-Id: I5abe7d00db9e10f1c66e6db0f7c82854f9aa352d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 86e8e4a06b682aa772c834a2cef56d0596540e1b)

22 months agoAdd a missing @Override annotation 07/101307/2
Robert Varga [Thu, 26 May 2022 17:12:25 +0000 (19:12 +0200)]
Add a missing @Override annotation

writeReplace() is specified by payload, make sure we mark it as such.

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

22 months agoMake Payload Serializable 09/101309/1
Robert Varga [Fri, 13 May 2022 12:52:16 +0000 (14:52 +0200)]
Make Payload Serializable

All payloads are serialized via Java serialization, which is not great,
but needs to be expressed in the API contract. Also codify that each
payload needs to have a serializable proxy.

JIRA: CONTROLLER-2037
Change-Id: I99f146413e42af68bb33b942c2222c091a87cf3f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 04a652e0245df42e15ac4d9cff63c55a42eed2ca)
(cherry picked from commit e3f1cc4ec19d2a3c0adfae123e9b8e956fd92060)

22 months agoMove {Identifiable,Persistent,}Payload 08/101308/1
Robert Varga [Fri, 13 May 2022 12:23:27 +0000 (14:23 +0200)]
Move {Identifiable,Persistent,}Payload

Payloads are really part of raft message specification, not some vague
sal-clustering-commons detail. They have a strong relationship with
AppendEntries and therefore really need to be co-located.

As a first step in dealing with AppendEntries sizing, move Payloads so
we can properly evolve them.

JIRA: CONTROLLER-2037
Change-Id: I069f311b1c1b211b8429a721e6b239e5e08ed813
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 534bf6f83465cc8a575b097c1e28fbb1f34d110a)
(cherry picked from commit a36505d4c697db33941a5899172fee92256aa0b8)

23 months agoFix raw type warnings in OSGiDistributedDataStore 60/101160/1
Robert Varga [Thu, 26 May 2022 17:05:52 +0000 (19:05 +0200)]
Fix raw type warnings in OSGiDistributedDataStore

Component{Factory,Instance} are now properly generic, specify arguments
pointing to OSGiDOMStore.

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

23 months agoBump upstreams 01/101301/1
Robert Varga [Thu, 26 May 2022 07:23:53 +0000 (09:23 +0200)]
Bump upstreams

Adopt:
- yangtools-8.0.6
- mdsal-9.0.4

Change-Id: Ibbc8a0f85adacefccd44a45d21aef62918666ff4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
23 months agoSimplify cutover expression 55/101155/1
Robert Varga [Wed, 18 May 2022 09:39:24 +0000 (11:39 +0200)]
Simplify cutover expression

Rather than having a !(A&&B), use (!A || !B).

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

23 months agoBump versions to 5.0.5-SNAPSHOT 81/101081/1
Robert Varga [Thu, 12 May 2022 08:31:20 +0000 (10:31 +0200)]
Bump versions to 5.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I955586e7e7c780a426e1b141b3e02f967b002707
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
23 months agoBump upstream versions 78/101078/1
Robert Varga [Wed, 11 May 2022 13:49:45 +0000 (15:49 +0200)]
Bump upstream versions

Adopt:
- odlparent-10.0.2
- yangtools-8.0.5
- mdsal-9.0.3

Change-Id: I27256b215d2d2afdeb71440d9a4ad1174815a58e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
23 months agoDo not depend directly on mdsal-binding-dom-codec 01/100601/1
Robert Varga [Thu, 28 Apr 2022 17:34:35 +0000 (19:34 +0200)]
Do not depend directly on mdsal-binding-dom-codec

Depend on the API package, not the entire codec.

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

23 months agoImprove SegmentedJournalActor logging 25/100825/2
Robert Varga [Tue, 26 Apr 2022 19:22:58 +0000 (21:22 +0200)]
Improve SegmentedJournalActor logging

Log timing around journal open and each write message. Also include
the number of bytes written in each message, so there is a correlation.

JIRA: CONTROLLER-2043
Change-Id: I27bb6bc6edf0baf4ec0b3ec0d07f6bfd1adf867e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
23 months agoCorrect tracing arguments 24/100824/2
Robert Varga [Tue, 26 Apr 2022 16:21:57 +0000 (18:21 +0200)]
Correct tracing arguments

We have arguments switched around, resulting in a confusing message.
Fix that up.

JIRA: CONTROLLER-2043
Change-Id: I7f99b8665a1790aa9fd9d5607bfb44c69cf2a03d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump versions to 5.0.4-SNAPSHOT 81/100781/1
Robert Varga [Sun, 24 Apr 2022 19:32:12 +0000 (21:32 +0200)]
Bump versions to 5.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I950d01305027fccb4fc70162457d75d6ca8f2f8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoHandle the case when newModification() fails 57/100657/9
Robert Varga [Tue, 19 Apr 2022 20:53:18 +0000 (22:53 +0200)]
Handle the case when newModification() fails

When we are chaining DataTreeModification on top of each other, it is
possible that we have an invalid modification, which fails to apply. In
that case there is nothing we can do, as we cannot establish a baseline.

Handle this case by allocating a specialized modification
implementation, which allows close to no interactions.

JIRA: CONTROLLER-2039
Change-Id: I9b55da7ccc89c9aeae641a049397d2120e292a9c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoFail read requests after we have observed a modification failure 65/100765/7
Robert Varga [Sun, 24 Apr 2022 08:16:42 +0000 (10:16 +0200)]
Fail read requests after we have observed a modification failure

A local RW transaction can intercept a modification. If this happens, we
postpone the failure until commit time, but we must not allow further
reads to be satisfied, as they may end up returning incorrect data.

JIRA: CONTROLLER-2041
Change-Id: Ic1bb4c33b786e5926022125be8ee66aebfafee87
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoCleanup Local*ProxyTransactionTest 76/100776/2
Robert Varga [Sun, 24 Apr 2022 16:26:06 +0000 (18:26 +0200)]
Cleanup Local*ProxyTransactionTest

Do not use expected exceptions and use static imports for asserts.

Change-Id: Ib7838b36683b9e1d2042f1832272b88a0195cef6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoImprove IdentifiablePayload.toString() implementations 75/100775/3
Robert Varga [Sun, 24 Apr 2022 16:01:13 +0000 (18:01 +0200)]
Improve IdentifiablePayload.toString() implementations

We can expose at least the size (and most of the time identity) of the
payload. Let's do that to ease debugging.

JIRA: CONTROLLER-2043
Change-Id: Ia0f1e17ca46de8a9d117d5f8bdb85b246e32be01
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoAdd more tracing to DataJournalV0 74/100774/2
Robert Varga [Sun, 24 Apr 2022 14:58:40 +0000 (16:58 +0200)]
Add more tracing to DataJournalV0

We seem to have a problem with completing a specific write, add a few
more traces to try to pin the problem down.

JIRA: CONTROLLER-2043
Change-Id: I9efb37fd40e48ff81c988da7edcb0ae0010f7baf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoCompare messages in the log 73/100773/1
Robert Varga [Sun, 24 Apr 2022 13:54:04 +0000 (15:54 +0200)]
Compare messages in the log

Make sure we have the distinction between reordered messages and
messages getting missed.

JIRA: CONTROLLER-2024
Change-Id: If1f65eaa93b71911dcf197f8b053282f6ea0303c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump atomix to 3.1.12 72/100772/2
Robert Varga [Sun, 24 Apr 2022 12:45:36 +0000 (14:45 +0200)]
Bump atomix to 3.1.12

I could not find any release notes, so all we have is
https://github.com/atomix/atomix/compare/atomix-3.1.5...atomix-3.1.12

Of that only
https://github.com/atomix/atomix/commit/4a65503db2c810df7aa9f9b1dc0aec4debe21380
seems relevant.

Change-Id: Ifdefc9a5c00b1acb3db2e141b0c63fc74ef4513c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoRoute {Journal,Snapshot}Protocol messages to DataPersistenceProvider 69/100769/1
Robert Varga [Sun, 24 Apr 2022 11:17:15 +0000 (13:17 +0200)]
Route {Journal,Snapshot}Protocol messages to DataPersistenceProvider

The way we wire our messages ends up being not exactly nice, as the
baseline RaftActor is not cognizant of all persistence operations. This
means it cannot correctly ignore responses to deletion of journal and
snapshot entries -- and hence we get dead letters logged.

Route JournalProtocol and SnapshotProtocol messages to
DataPersistenceProvider, which can then handle them and correctly
tell us whether to log them or not.

JIRA: CONTROLLER-2042
Change-Id: I47b8c3ae67d0a0ea0aad9f0a64e1bb8dc11400fc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoImprove AbstractClientConnection nullness guarantees 67/100767/1
Robert Varga [Sun, 24 Apr 2022 08:45:15 +0000 (10:45 +0200)]
Improve AbstractClientConnection nullness guarantees

We have a few missing @NonNull annotations, make sure to add them.
Also remove a superfluous requireNonNull() in copy constructor.

Change-Id: I1bbd46d31856be3ce25483f05eae8e9f2a67370f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoDo not use NPE for consistency checks 66/100766/1
Robert Varga [Sun, 24 Apr 2022 08:37:29 +0000 (10:37 +0200)]
Do not use NPE for consistency checks

We are using Preconditions.checkNotNull() when guarding against illegal
state. Improve this by using verifyNotNull(), which results in
VerifyException, making the intent clearer.

Also migrate a verify(foo != null) to a proper verifyNotNull(), using
the resoluting value.

Change-Id: I2689852d396315714f126743b70469ceef75ce45
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoClean up unhandled request exceptions 64/100764/1
Robert Varga [Sun, 24 Apr 2022 08:23:22 +0000 (10:23 +0200)]
Clean up unhandled request exceptions

We have a few places which throw the same exception, make sure we
share the formatting and expose the proper control flow to Java.

Change-Id: I514faf987b780de813fe6a1374c5e634e22326a6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoEnable tell-based protocol by default in DTO 07/100707/1
Ivan Hrasko [Thu, 21 Apr 2022 14:25:37 +0000 (16:25 +0200)]
Enable tell-based protocol by default in DTO

We have switched to tell-based protocol by default in datastore.cfg
configuration. Reflect that change in DTO DatastoreContext as well.

JIRA: CONTROLLER-2040
Change-Id: I2ed6c287fe7a39415afe49cb45fd485b64208e03
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
2 years agoImprove LocalProxyTransaction.doExists() 56/100656/1
Robert Varga [Tue, 19 Apr 2022 20:50:22 +0000 (22:50 +0200)]
Improve LocalProxyTransaction.doExists()

We can use immediateBooleanFluentFuture() and skip allocating two
objects.

Change-Id: I11747ddef4fa8e3dbf950b5e1879d2e1ccc395ba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoRemove FindBugs workaround 55/100655/2
Robert Varga [Tue, 19 Apr 2022 20:15:10 +0000 (22:15 +0200)]
Remove FindBugs workaround

SpotBugs no longer throws a fit on callback's nullness, remove the
workaround. Also do not execute read/exists if there is no callback
-- although there always should be.

Change-Id: I3609d3be076de488f7fa64c72ad3b875e77a633e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoExpose CursorAwareDataTreeSnapshot from local RW proxy 54/100654/1
Robert Varga [Tue, 19 Apr 2022 19:00:44 +0000 (21:00 +0200)]
Expose CursorAwareDataTreeSnapshot from local RW proxy

We can improve type safety a bit by exposing the fact the backing
snapshot supports cursors.

Change-Id: If65549d6a28851c0abd1c8b826e48503ef12860c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump versions to 5.0.3-SNAPSHOT 82/100582/1
Robert Varga [Thu, 14 Apr 2022 09:18:12 +0000 (11:18 +0200)]
Bump versions to 5.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: I3cf534a6c69bd38fa3a178d9becd61275fefae0f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump to yangtools-8.0.3/mdsal-9.0.2 81/100581/1
Robert Varga [Thu, 14 Apr 2022 09:17:36 +0000 (11:17 +0200)]
Bump to yangtools-8.0.3/mdsal-9.0.2

Pick up fixes from upstream.

Change-Id: I38ff023ba4828e36f5ebb89fed7d6f54db1fdc24
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoImplement scatter/gather on module shards 78/100478/3
Robert Varga [Thu, 7 Apr 2022 15:45:48 +0000 (17:45 +0200)]
Implement scatter/gather on module shards

ClientBackedDatastore does perform module shard root scatter/gather,
hence reads of root end up talking to only the default shard.

Refactor the scatter/gather logic from DistributedDatastore into a
common component and use it for both modes of operation.

JIRA: CONTROLLER-2038
Change-Id: Ib04efab46e36e512eb89606d026fd2082de1b693
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoNormalizedNodeAggregator should also report empty 79/100479/1
Robert Varga [Thu, 7 Apr 2022 20:23:33 +0000 (22:23 +0200)]
NormalizedNodeAggregator should also report empty

DataTree root is always present as of now, which means that even if we
pretend there is no result, the result of aggregation is non-empty.

Fix NormalizedNodeAggregator to check whether there was any operation
applied before running actual transaction.

JIRA: CONTROLLER-2038
Change-Id: Ie7e4625ad2377483d0623d96234bcc77fbba033d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoUse ImmutableBiMap builder fluently 76/100476/2
Robert Varga [Thu, 7 Apr 2022 15:16:07 +0000 (17:16 +0200)]
Use ImmutableBiMap builder fluently

We can simply allocate the builder without intermediate local, saving
us an import. Also split the locked update part into a separate method
to aid inlining.

Change-Id: I34b3dffd49c5bd637792c743e9b71e31082201f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoCap shard-snapshot-chunk-size to 480KiB 28/100428/1
Robert Varga [Wed, 6 Apr 2022 06:07:51 +0000 (08:07 +0200)]
Cap shard-snapshot-chunk-size to 480KiB

We have a few places where we are using a default of 2MiB for chunk
size. Bring them down to 480KiB to match datastore.cfg.

JIRA: CONTROLLER-2037
Change-Id: I4dfc4cf3f41acd8c4b782e6450d17f5d5e8bf281
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoAdd supervisor to EOS singleton actor 57/100357/3
Shibu Vijayakumar [Fri, 1 Apr 2022 18:14:34 +0000 (18:14 +0000)]
Add supervisor to EOS singleton actor

The actor may fail, for example due to AskTimeoutException. This still
needs to be investigated, but mitigate the failure by adding an
OwnerSupervisor to restart it on failure.

JIRA: CONTROLLER-2035
Change-Id: I2dafaa35804357415d9aaa5400372cfd8e54b85b
Signed-off-by: Shibu Vijayakumar <shibu.vijayakumar@infosys.com>
2 years agoBump versions to 5.0.2-SNAPSHOT 62/100262/1
Robert Varga [Fri, 25 Mar 2022 17:31:19 +0000 (18:31 +0100)]
Bump versions to 5.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: Icae7ce95024658ee30b8672300fa11c40f50f47b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoUpdate upstreams 55/100255/1
Robert Varga [Fri, 25 Mar 2022 13:38:39 +0000 (14:38 +0100)]
Update upstreams

Adopt yangtools-8.0.2 and mdsal-9.0.1.

Change-Id: I7d010a073386cd5e9144f92c83d4351058f4b5d2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump akka to 2.6.19 48/100248/1
Robert Varga [Thu, 24 Mar 2022 20:23:11 +0000 (21:23 +0100)]
Bump akka to 2.6.19

https://akka.io/blog/news/2022/03/21/akka-2.6.19-released

Change-Id: Ib53536c127fa0b4b2e6e0d80f5c78828bec1e750
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump versions to 5.0.1-SNAPSHOT 59/100159/1
Robert Varga [Sun, 20 Mar 2022 13:38:34 +0000 (14:38 +0100)]
Bump versions to 5.0.1-SNAPSHOT

This starts the next development iteration.

Change-Id: I082d9652feda9aa875f5a5d23d577a0d04c62553
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump mdsal to 9.0.0 57/100157/1
Robert Varga [Sun, 20 Mar 2022 12:59:15 +0000 (13:59 +0100)]
Bump mdsal to 9.0.0

Use released version instead of snapshots.

Change-Id: I3563eae608f91b7b8cc94181fd7c1aee2d2c68a7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump yangtools to 8.0.1 12/100112/1
Robert Varga [Sun, 13 Mar 2022 23:15:27 +0000 (00:15 +0100)]
Bump yangtools to 8.0.1

yangtools-8.0.0 has a small bug, make sure we have the fix for it.

Change-Id: If437c6e12855bdde39d4d118f02c8b2362d1ae33
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump yangtools to 8.0.0 07/100107/1
Robert Varga [Sun, 13 Mar 2022 17:08:39 +0000 (18:08 +0100)]
Bump yangtools to 8.0.0

There is a proper release out there, use it instead of snapshots.

Change-Id: I6897c2b69f064ce6af95a98492d4bc7979e2199c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoAdjust Blueprint to ensure the container is a ChildOf 84/100084/1
Robert Varga [Fri, 11 Mar 2022 17:57:07 +0000 (18:57 +0100)]
Adjust Blueprint to ensure the container is a ChildOf

InstanceIdentifier requires data tree steps, make sure we enforce
that invariant.

JIRA: MDSAL-370
Change-Id: Icb3c08eb7052eed28ef6638facb884857baec3e9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoIntroduce remaining cli commands for clustering-test-app 83/99783/4
Dominik Vrbovsky [Wed, 16 Feb 2022 07:32:28 +0000 (08:32 +0100)]
Introduce remaining cli commands for clustering-test-app

There are some RPCs that were not reworked to Karaf CLI commands
during first round of introducing these commands, so we need to
introduce them as well and have complete set of commands.

JIRA: CONTROLLER-1995
Change-Id: Ifbb67e26fb4ede4a589dd07999b52e3639e5c794
Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoRemove an unneeded @SuppressFBWarnings 52/100052/1
Robert Varga [Wed, 9 Mar 2022 18:08:03 +0000 (19:08 +0100)]
Remove an unneeded @SuppressFBWarnings

The warning is no longer emitted here with our current SpotBugs, hence
we can remove the suppression.

Change-Id: Id1bb3c87a05f14cba76dc8a1af73740a461a1fc1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoUse CommitInfo in AsyncNotifyingSettableFuture 51/100051/1
Robert Varga [Wed, 9 Mar 2022 18:04:16 +0000 (19:04 +0100)]
Use CommitInfo in AsyncNotifyingSettableFuture

We are performing a future transformation which boils down to converting
a null (Void) into an CommitInfo.empty().

Rather than doing that, let's make sure AsyncNotifyingSettableFuture
results directly in CommitInfo, removing the need for transformation,
saving us an object allocation and a few CPU cycles.

Change-Id: I7e34ad5e24dc6470d16243dad5ce7ba7395c5397
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoUse SettableFuture<Empty> for readinessFuture 50/100050/1
Robert Varga [Wed, 9 Mar 2022 17:57:01 +0000 (18:57 +0100)]
Use SettableFuture<Empty> for readinessFuture

java.lang.Void is promoting use of nulls, whereas Empty.value() is
a non-null object. Migrate internal users.

Change-Id: I6a8a85917d9c3a8c3d5a9aadf691c9d1a63a767b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoUse Empty instead of Void in cohorts 12/100012/5
Robert Varga [Wed, 9 Mar 2022 06:59:30 +0000 (07:59 +0100)]
Use Empty instead of Void in cohorts

Void is inherently null-happy, switch to Empty, which has a proper
value.

Change-Id: I6ce60a0933e15e7b779fcbef149481c59aa93970
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoFixup comparison formatting 15/100015/1
Robert Varga [Wed, 9 Mar 2022 08:37:24 +0000 (09:37 +0100)]
Fixup comparison formatting

Make sure the '&&' is on a single line for readability.

Change-Id: I7c1f07e2c967c3c1bff1826afdde94a59a0c7cb9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump upstream SNAPSHOTS 02/99502/13
Robert Varga [Thu, 27 Jan 2022 17:10:28 +0000 (18:10 +0100)]
Bump upstream SNAPSHOTS

Adopt:
- odlparent-10.0.0
- yangtools-8.0.0-SNAPSHOT
- mdsal-9.0.0-SNAPSHOT

Change-Id: I60991718a6d1ef6f108c2b1f7b2c09b0c5f973c4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump mdsal to 8.0.12 10/99810/1
Robert Varga [Fri, 18 Feb 2022 10:50:45 +0000 (11:50 +0100)]
Bump mdsal to 8.0.12

Pick up the single fix from upstream.

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

2 years agoFix yangtools mis-alignment 33/99733/1
Robert Varga [Mon, 14 Feb 2022 14:55:02 +0000 (15:55 +0100)]
Fix yangtools mis-alignment

We have a mis-aligned yangtools versions, fix that up.

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

2 years agoBump upstream versions 09/99709/1
Robert Varga [Mon, 14 Feb 2022 07:26:31 +0000 (08:26 +0100)]
Bump upstream versions

Adopt:
- odlparent-9.0.13
- yangtools-7.0.13
- mdsal-8.0.11

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

2 years agoRemove odl-controller-blueprint from odl-mdsal-broker 56/97856/2
Robert Varga [Sat, 9 Oct 2021 11:21:13 +0000 (13:21 +0200)]
Remove odl-controller-blueprint from odl-mdsal-broker

Only a few services need ODL blueprint extensions, minimize their
exposure by not installing them for odl-mdsal-broker.

JIRA: CONTROLLER-2006
Change-Id: I63f4b8b977d993b989f45351b7b22ae3bd92dbec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoMigrate to Empty.value() 04/99504/1
Robert Varga [Thu, 27 Jan 2022 18:33:09 +0000 (19:33 +0100)]
Migrate to Empty.value()

Empty.getInstance() is deprecated for removal, use its replacement.

Change-Id: I07d6796e8211fa1ef9a08bc8bc8826d66c1b7ec9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoFix clearing of candidates from previous iterations 30/99130/8
Tomas Cere [Tue, 21 Dec 2021 16:16:40 +0000 (17:16 +0100)]
Fix clearing of candidates from previous iterations

During initialization the CandidateRegistry wasnt clearing
candidates from the previous instance in a reliable way.
Event with ReadMajority if the cluster members havent been updated
yet, it acted as if there were no candidates present so it did
not clear them.

Introduce a mechansim that goes through the akka singleton that
picks owners, so it only executes the clearing of candidates once
the cluster is in a healthy state.

JIRA: CONTROLLER-2025
Change-Id: I5a43908e45273adfea325621189f633ce493ca87
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump upstream versions 41/99041/1
Robert Varga [Wed, 19 Jan 2022 12:27:01 +0000 (13:27 +0100)]
Bump upstream versions

Adopt:
- odlparent-9.0.12
- yangtools-7.0.12
- mdsal-8.0.10

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

2 years agoRestart downed nodes. 27/98927/7
Tomas Cere [Wed, 8 Dec 2021 11:40:40 +0000 (12:40 +0100)]
Restart downed nodes.

Nodes can be downed by sbr(for example when Isolated, sbr makes the
decision to down the minority), so we need to make sure they can
come up automatically unless we have another mechanism in place
for bringing up downed nodes.

JIRA: CONTROLLER-2025
Change-Id: I23d3ca2cee471c51d0eadc6c426461aa6eef193d
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
2 years agoEnable Split-Brain Resolver 34/98634/6
Tomas Cere [Mon, 22 Nov 2021 10:32:48 +0000 (11:32 +0100)]
Enable Split-Brain Resolver

In order to make EOS service work, we need to have a provider handling
dead nodes. Enable SBR to fill that role, so that we properly recover
from nodes going away.

JIRA: CONTROLLER-2025
Change-Id: Idf817455bfe2a90d6e02011eee4ed407e1254fd2
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoSwitch to using tell-based protocol 97/96497/6
Ivan Hrasko [Wed, 9 Jun 2021 08:08:46 +0000 (10:08 +0200)]
Switch to using tell-based protocol

Using Artery with ask-based protocol in our current settings leads
to easily running out of native memory. Switch to tell-based protocol,
which can slice its messages to fit in smaller buffers.

JIRA: CONTROLLER-1983
Change-Id: I0a296dbb3ba6e4e659c94761d78cfb985633061c
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump versions to 5.0.0-SNAPSHOT 96/99296/1
Robert Varga [Thu, 13 Jan 2022 13:54:26 +0000 (14:54 +0100)]
Bump versions to 5.0.0-SNAPSHOT

This starts the next major version development.

Change-Id: I0bc9fed64efeee1dcb30b1a464321e9654c14eec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump akka to 2.6.18 24/99124/7
Robert Varga [Mon, 20 Dec 2021 11:52:55 +0000 (12:52 +0100)]
Bump akka to 2.6.18

https://akka.io/blog/news/2021/12/20/akka-2.6.18-released

JIRA: CONTROLLER-2027
Change-Id: I7ec7581f48610d8d8479e971186a16d6b870ed9c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump scala-java8-compat_2.13 to 1.0.2 86/99286/2
Robert Varga [Thu, 13 Jan 2022 10:23:18 +0000 (11:23 +0100)]
Bump scala-java8-compat_2.13 to 1.0.2

Akka 2.6.16+ is using version 1.0.0, and they are binary compatible,
let's make sure we align to a newer version as well.

https://github.com/scala/scala-java8-compat/releases/tag/v1.0.0
https://github.com/scala/scala-java8-compat/releases/tag/v1.0.1
https://github.com/scala/scala-java8-compat/releases/tag/v1.0.2

Change-Id: I6c5f21c296dae9ca7236487e460755f0ef3e7622
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump scala to 2.13.8 83/99283/2
Robert Varga [Thu, 13 Jan 2022 09:29:04 +0000 (10:29 +0100)]
Bump scala to 2.13.8

https://github.com/scala/scala/releases/tag/v2.13.7
https://github.com/scala/scala/releases/tag/v2.13.8

Change-Id: Ifc5ac268e531b10a9920c7a16bfbdbb3de12d611
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoRework karaf CLI commands to print results on console 35/98635/2
Dominik Vrbovsky [Mon, 22 Nov 2021 10:56:26 +0000 (11:56 +0100)]
Rework karaf CLI commands to print results on console

Some of these karaf CLI commands may produce return values and some CSIT components need to
read them from console.

Change-Id: Iae54c9481515c1e8fc42e9b1cf7b1530d523a142
Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
2 years agoBump upstream versions 51/99251/1
Robert Varga [Mon, 10 Jan 2022 13:10:56 +0000 (14:10 +0100)]
Bump upstream versions

Adopt:
- odlparent-9.0.10
- yangtools-7.0.11
- mdsal-8.0.9

Change-Id: I24be0e4be695c02720f139b25e0be9f7854410e7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoBump upstream versions 64/99164/1
Robert Varga [Sat, 25 Dec 2021 13:28:03 +0000 (14:28 +0100)]
Bump upstream versions

Adopt:
- odlparent-9.0.9
- yangtools-7.0.10
- mdsal-8.0.8

Change-Id: Ifbfb9c8b335bbf49df4a2965c5a4744ce558089b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoCleanup asserts a bit 27/99127/1
Robert Varga [Tue, 21 Dec 2021 08:38:43 +0000 (09:38 +0100)]
Cleanup asserts a bit

Rather than using String operations, use assertThat() and matchers.

Change-Id: I0e76854950965fbfef739c38b061ccda1a9f1e37
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoakka.actor.provider set to 'cluster' 33/98733/5
Dominik Vrbovsky [Mon, 6 Dec 2021 17:05:03 +0000 (18:05 +0100)]
akka.actor.provider set to 'cluster'

A number of sal-akka-raft test logs are polluted by ConfigurationException.
ActorSystem needs to have 'akka.actor.provider' set to 'cluster' in the
configuration.

JIRA: CONTROLLER-2023
Change-Id: If6e873864ffe0ea8261c80c233b6d40459d05164
Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
2 years agoBump versions to 4.0.8-SNAPSHOT 95/98495/1
Robert Varga [Sun, 14 Nov 2021 09:12:49 +0000 (10:12 +0100)]
Bump versions to 4.0.8-SNAPSHOT

This starts the next development iteration.

Change-Id: I96de621e9636e25b8855e38c0d0cfc9c19fc063e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoAdd an actor for entity rpc execution. 66/98466/2
Tomas Cere [Fri, 12 Nov 2021 17:17:00 +0000 (18:17 +0100)]
Add an actor for entity rpc execution.

Instead of entity-owners rpcs being handled by owner supervisor
directly add an actor that handles the execution, preventing failures
that happen after the akka singleton has moved to a different node.

This new actor first attempts to retrieve current data from the supervisor
and if that fails, falls back to using distributed-data.

JIRA: CONTROLLER-2010
Change-Id: Idf71d66d380402c10e276c726edef2f5034f7363
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
2 years agoCleanup test format 93/98493/1
Robert Varga [Sun, 14 Nov 2021 06:26:53 +0000 (07:26 +0100)]
Cleanup test format

We have wrong spaces, fix them up.

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