controller.git
5 months agoEliminate SE_BAD_FIELD suppressions 56/109056/1
Robert Varga [Fri, 24 Nov 2023 15:10:33 +0000 (16:10 +0100)]
Eliminate SE_BAD_FIELD suppressions

We are implementing Serializable Proxy pattern, which should really be
enforced via throwing appropriate exceptions from
readObject()/writeObject() et al.

This retrofits the mininal set to keep SpotBugs happy, eliminating the
associated suppressions.

Change-Id: I8264114b1f0ed74123f0163d62d953dc45a8a9d1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoBump versions to 8.0.4-SNAPSHOT 68/108768/1
Robert Varga [Tue, 31 Oct 2023 10:24:46 +0000 (11:24 +0100)]
Bump versions to 8.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I69bcc13470a9ac9ae85c9f4fa7f585527d4c58fa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoRelease controller v8.0.3
jenkins-releng [Tue, 31 Oct 2023 08:38:10 +0000 (08:38 +0000)]
Release controller

5 months agoBump upstreams 63/108763/1
Robert Varga [Mon, 30 Oct 2023 22:40:53 +0000 (23:40 +0100)]
Bump upstreams

Adopt:
- odlparent-13.0.7
- yangtools-11.0.4
- mdsal-12.0.3

Change-Id: Ia9d419001f6803a21e191529ffe405b9219d6815
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 months agoDo not use RpcService in ntfbenchmark 05/108005/3
Oleksandr Zharov [Thu, 28 Sep 2023 11:30:48 +0000 (13:30 +0200)]
Do not use RpcService in ntfbenchmark

Migrated usage of RpcService to Rpc<?,?> for ntfbenchmark.

JIRA: CONTROLLER-2085
Change-Id: I04c7b10e47e75a53667fcac9778d23cd74dc4c25
Signed-off-by: Oleksandr Zharov <oleksandr.zharov@pantheon.tech>
5 months agoDo not use RpcService in dsbenchmark 04/108004/3
Oleksandr Zharov [Thu, 28 Sep 2023 11:23:52 +0000 (13:23 +0200)]
Do not use RpcService in dsbenchmark

Migrated usage of RpcService to Rpc<?,?> for dsbenchmark.

JIRA: CONTROLLER-2085
Change-Id: If0b4e4f14e94a583f518cdd5281ff779076aaabe
Signed-off-by: Oleksandr Zharov <oleksandr.zharov@pantheon.tech>
6 months agoRefactor RaftActorTest to avoid test failures 97/106497/8
Šimon Ukuš [Thu, 15 Jun 2023 11:47:28 +0000 (13:47 +0200)]
Refactor RaftActorTest to avoid test failures

The "doReturn(value).when(mockObj).coolMethod(same(arg))" way of mocking
the return values for "coolMethod()" calls resulted in
UnfinishedStubbingException, even though there seems to be no reason
for such error. This change introduces "the other" way of such mocking:
"when(mockObj.coolMethod(same(arg)).thenReturn()".

JIRA: CONTROLLER-2080
Change-Id: I58b9c08780c27b43ad5eff4e21c921b9260fc236
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
6 months agoMake snapshot offset long to prevent overflow 44/107444/12
tibor.kral [Tue, 3 Oct 2023 08:53:08 +0000 (10:53 +0200)]
Make snapshot offset long to prevent overflow

The current implementation uses integer which can
easily overflow if the Snapshot grows over 2.14GB

JIRA: CONTROLLER-2086
Change-Id: Ibbe3d3e1667cf59137e057b31141033a826142e4
Signed-off-by: tibor.kral <tibor.kral@pantheon.tech>
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 months agoClean up SerializationUtilsTest 73/108073/1
Robert Varga [Fri, 29 Sep 2023 20:32:27 +0000 (22:32 +0200)]
Clean up SerializationUtilsTest

Migrate to using xmlunit-core and modernize the logic.

Change-Id: I8f116f18abcca8e20d104bd71e1b14e59f1778fd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump versions to 8.0.3-SNAPSHOT 06/107906/1
Robert Varga [Mon, 18 Sep 2023 14:49:58 +0000 (16:49 +0200)]
Bump versions to 8.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: Id03b4dbd4f469429f1f81a3f301a094e20d18e67
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoRelease controller v8.0.2
jenkins-releng [Mon, 18 Sep 2023 08:42:52 +0000 (08:42 +0000)]
Release controller

7 months agoBump upstreams 97/107897/1
Robert Varga [Sun, 17 Sep 2023 11:52:12 +0000 (13:52 +0200)]
Bump upstreams

Adopt:
- yangtools-11.0.2
- mdsal-12.0.2

Change-Id: I78b30c5ce094c5534cba80ff5e992a85e247eea1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump Scala to 2.13.12 88/107788/1
Robert Varga [Mon, 11 Sep 2023 12:39:50 +0000 (14:39 +0200)]
Bump Scala to 2.13.12

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

Change-Id: Ic406869380c4b639508d05ef0e40ca9c2a09cb75
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoBump versions to 8.0.2-SNAPSHOT 06/107606/1
Robert Varga [Thu, 31 Aug 2023 07:19:23 +0000 (09:19 +0200)]
Bump versions to 8.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: If8424903429c1ced29283493841b6c6d751cdd98
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoRelease controller v8.0.1
jenkins-releng [Thu, 31 Aug 2023 06:12:44 +0000 (06:12 +0000)]
Release controller

7 months agoBump upstreams 91/107591/4
Robert Varga [Wed, 30 Aug 2023 14:39:52 +0000 (16:39 +0200)]
Bump upstreams

Adopt:
- odlparent-13.0.4
- yangtools-11.0.1
- mdsal-12.0.1

Change-Id: Iff02463539ad8888748ea969beeff3a7add10b16
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoRemove CarEntityOwnershipListener 95/107595/1
Robert Varga [Wed, 30 Aug 2023 15:04:11 +0000 (17:04 +0200)]
Remove CarEntityOwnershipListener

This is a superfluous class, replace it with a simple lambda.

Change-Id: I5ce16ec87b93d95c937a77a9ae1b57daa32449d6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoFix sal-remoterpc-connector checkstyle 94/107594/1
Robert Varga [Wed, 30 Aug 2023 15:01:38 +0000 (17:01 +0200)]
Fix sal-remoterpc-connector checkstyle

Upgraded checkstyle is flagging a few nested classes as potentially
final, fix that up.

Change-Id: Ie3835769d50e3a692644fc0dbed480e6c4d5f2de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoFix sal-distributed-datastore checkstyle 93/107593/1
Robert Varga [Wed, 30 Aug 2023 15:01:08 +0000 (17:01 +0200)]
Fix sal-distributed-datastore checkstyle

Upgraded checkstyle is flagging a few nested classes as potentially
final, fix that up.

Change-Id: I8f5370fb700a76f6f71ad186d78cbb50e595a8a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoClean up SnapshotManager nested classes 92/107592/1
Robert Varga [Wed, 30 Aug 2023 14:54:21 +0000 (16:54 +0200)]
Clean up SnapshotManager nested classes

Upgraded checkstyle is detecting a number of these as 'should be final'.
Fix those findings.

Change-Id: I171c046616a0b0c30f5cd46de0d3486e9943e757
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoFix FlexibleThreadPoolWrapper checkstyle 90/107590/1
Robert Varga [Wed, 30 Aug 2023 14:50:22 +0000 (16:50 +0200)]
Fix FlexibleThreadPoolWrapper checkstyle

Nested static classes are detected as checkstyle violations if they are
not final. Fix that.

Change-Id: Ifa5878890cabe845ecf8d98d46f2fc8015a78770
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
7 months agoMake MemoryOutputStream final 89/107589/1
Robert Varga [Wed, 30 Aug 2023 14:48:38 +0000 (16:48 +0200)]
Make MemoryOutputStream final

This is a checkstyle violation with upgraded checkstyle. Fix that.

Change-Id: I370b50baa146a710632e501f1ce7acad913166c2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoFix links to prevent redirects 25/107125/1
Robert Varga [Thu, 27 Jul 2023 17:39:05 +0000 (19:39 +0200)]
Fix links to prevent redirects

IETF has retired tools, use rfc-editor/datatracker instead.

Change-Id: I1e033045b7e9dd61e02831dd4e2ebf793459fc93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoRemove Config Subsystem documentation 23/107123/3
Robert Varga [Thu, 27 Jul 2023 17:05:12 +0000 (19:05 +0200)]
Remove Config Subsystem documentation

The configuration subsystem is long-gone. Remove its documentation from
developer guide.

Change-Id: I0da59ec514f9f9208d099f05702c95d9c1e83eb9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoFix documentation links 24/107124/1
Robert Varga [Thu, 27 Jul 2023 17:29:53 +0000 (19:29 +0200)]
Fix documentation links

The links are pointing to wiki resources which no longer exist. Point to
wiki-archive instead.

Change-Id: Ie633ed1a010a382d47084c370decf1e84a2a4ee6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoUse Futures.submit() 11/106811/1
Robert Varga [Tue, 4 Jul 2023 19:51:57 +0000 (21:51 +0200)]
Use Futures.submit()

Do not wrap the ExecutorService and just use Futures.submit() to arrive
at a ListenableFuture with any executor.

Change-Id: Id43ba68f65aa7a358159024364515f8029b95d5f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoBump versions to 8.0.1-SNAPSHOT 79/106779/1
Robert Varga [Sun, 2 Jul 2023 11:23:54 +0000 (13:23 +0200)]
Bump versions to 8.0.1-SNAPSHOT

This starts the next development iteration.

Change-Id: I04240b9680f53eb675e3d1a553aec893cc8de1e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoRelease controller v8.0.0
jenkins-releng [Sun, 2 Jul 2023 10:04:49 +0000 (10:04 +0000)]
Release controller

9 months agoModernize DataTreeCandidateInputOutput 76/106776/3
Robert Varga [Sat, 1 Jul 2023 17:45:46 +0000 (19:45 +0200)]
Modernize DataTreeCandidateInputOutput

Use local variable type inference and use records.

Change-Id: Iac4a7325d922cde24ed9180c2db4dcea09c3b8f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoRemove support for pre-Fluorine versions 11/103511/10
Robert Varga [Fri, 2 Dec 2022 07:47:06 +0000 (08:47 +0100)]
Remove support for pre-Fluorine versions

We are carrying support for talking RAFT all the way to the initial
version. This is not necessary and a bit inefficient. This patch removes
support for talking to anything older than Fluorine GA.

JIRA: CONTROLLER-2082
Change-Id: Ib9b345aed478004f37f334abae2e3a2879e96512
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoRemove legacy RaftRPC proxies 77/105177/7
Robert Varga [Mon, 3 Apr 2023 14:34:22 +0000 (16:34 +0200)]
Remove legacy RaftRPC proxies

These proxies have not been used since version 7.0.0, remove them.

JIRA: CONTROLLER-2081
Change-Id: I6a2ff617c8e356b0ab3e05ffc25ba432fb6096a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoRemove FollowerIdentifier.Proxy 76/105176/8
Robert Varga [Mon, 3 Apr 2023 14:33:56 +0000 (16:33 +0200)]
Remove FollowerIdentifier.Proxy

This proxy has been deprecated, remove it.

JIRA: CONTROLLER-2081
Change-Id: I1a80305a87c692ff1c39f02a7113d4c29847dc22
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
9 months agoBump mdsal to release 65/106765/1
Robert Varga [Fri, 30 Jun 2023 07:12:06 +0000 (09:12 +0200)]
Bump mdsal to release

Use proper mdsal-12.0.0 release.

Change-Id: I0b377692c5ea48ccbdd45ecc64d6f0542999dbb4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoFix cds-access-client dependencies 01/106701/1
Robert Varga [Mon, 26 Jun 2023 16:36:37 +0000 (18:36 +0200)]
Fix cds-access-client dependencies

Add jdt.annotations to dependencies, as they are no longer declared by
default.

Change-Id: I962236670053f6d85c7a451a2601cc93ff2f6bc4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoFix sal-akka-raft dependencies 00/106700/1
Robert Varga [Mon, 26 Jun 2023 16:36:05 +0000 (18:36 +0200)]
Fix sal-akka-raft dependencies

Add jdt.annotations to dependencies, as they are no longer declared by
default.

Change-Id: I6cb95b30b8b38550061886f3a4aa4fcd158d35b2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up sal-remoterpc-connector dependencies 99/106699/2
Robert Varga [Mon, 26 Jun 2023 16:28:19 +0000 (18:28 +0200)]
Clean up sal-remoterpc-connector dependencies

We have quite a few warnings, reign them in.

Change-Id: I8b35ee98a7dc3f5e00e5ff08a61339df11c3be6f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up javadoc links 95/106695/1
Robert Varga [Mon, 26 Jun 2023 13:39:51 +0000 (15:39 +0200)]
Clean up javadoc links

Use HTTPS and modernize pointers.

Change-Id: I07352116ebe7b2f30d8db6c230ae14ce1c7593d6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoFix sal-distributed-datastore dependencies 94/106694/1
Robert Varga [Mon, 26 Jun 2023 13:22:50 +0000 (15:22 +0200)]
Fix sal-distributed-datastore dependencies

We need mdsal-binding-dom-codec as a testing dependency.

Change-Id: I7ba1a864f1b3bdcef5caf911fc2c2f84fc4e3f63
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump upstreams 74/106674/1
Robert Varga [Mon, 26 Jun 2023 11:45:34 +0000 (13:45 +0200)]
Bump upstreams

Adopt:
- odlparent-13.0.3
- yangtools-11.0.0

Change-Id: I8103c699e8217a5ab4e2393813009754295dbc2a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoAdjust to yang.binding.{Identifier,Identifiable} rename 09/106609/1
Robert Varga [Wed, 21 Jun 2023 18:42:39 +0000 (20:42 +0200)]
Adjust to yang.binding.{Identifier,Identifiable} rename

We hare renamed classes here, adjust to those changes.

Change-Id: I5efe2eeeb2878dfac864bc6ebc3e08c98ace253a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoAdjust for DataTreeCandidateNode API change 08/106608/1
Robert Varga [Wed, 21 Jun 2023 18:57:38 +0000 (20:57 +0200)]
Adjust for DataTreeCandidateNode API change

The return types have changed, adjust to that.

Change-Id: I5c51659e9c0d30ff90cbfff7772d348af301f4f9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump akka to 2.6.21 92/106592/1
Robert Varga [Wed, 21 Jun 2023 12:47:27 +0000 (14:47 +0200)]
Bump akka to 2.6.21

https://github.com/akka/akka/releases/tag/v2.6.21

Change-Id: I79d5d143ac6e8e35661568c439fa07acdf34f64b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up sal-clustering-commons dependencies 58/106558/1
Robert Varga [Tue, 20 Jun 2023 16:52:22 +0000 (18:52 +0200)]
Clean up sal-clustering-commons dependencies

We have a ton of warnings, clean them up as much as possible.

Change-Id: I02f5a3049f6c97c4236847c395c99b6fd2380a88
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up sal-akka-segmented-journal dependencies 57/106557/1
Robert Varga [Tue, 20 Jun 2023 16:43:03 +0000 (18:43 +0200)]
Clean up sal-akka-segmented-journal dependencies

We have quite a few reports here, clean them up to a reasonable extent.

Change-Id: I81e063f349b942d311d96c384a37ba8b812ffd46
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up cds-access-api dependencies 56/106556/1
Robert Varga [Tue, 20 Jun 2023 16:39:43 +0000 (18:39 +0200)]
Clean up cds-access-api dependencies

We have some missing dependency declarations, fill them out.

Change-Id: Ie79414dd25a6e83d81b097c0909d43abd5ee889c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoClean up dependencies 52/106552/1
Robert Varga [Tue, 20 Jun 2023 11:49:31 +0000 (13:49 +0200)]
Clean up dependencies

We have a ton of warnings about used/undeclared dependencies. Clean
these up.

Change-Id: I7a434a150ea62f7fc1ff93b34d48a98e24e79274
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump upstreams 06/106506/10
Robert Varga [Sun, 18 Jun 2023 11:04:24 +0000 (13:04 +0200)]
Bump upstreams

Adopt:
- odlparent-13.0.1
- yangtools-11.0.0-SNAPSHOT
- mdsal-12-0.0-SNAPSHOT

Since the format of NormalizedNode tree is updated to not include
AugmentationNode (and AugmentationIdentifier), we must force an
incompatible update, as we do not have enough information to produce
compatible payload.

Change-Id: Ibf444540ed052b49651ba66ca7b93c806a6c8a97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoSprinkle java.io.Serial 28/106528/1
Robert Varga [Sun, 18 Jun 2023 20:46:51 +0000 (22:46 +0200)]
Sprinkle java.io.Serial

Add annotations to make sure the API is covered.

Change-Id: I5fb74fcc6b37386a029e69cd79d6e1978601637a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump Scala to 2.13.11 03/105903/3
Robert Varga [Thu, 8 Jun 2023 06:50:46 +0000 (08:50 +0200)]
Bump Scala to 2.13.11

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

Change-Id: I9bc86788da00c1d46eadb298db1c55fe19bbca5f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump upstreams 12/106412/1
Robert Varga [Thu, 8 Jun 2023 09:04:34 +0000 (11:04 +0200)]
Bump upstreams

Adopt:
- yangtools-10.0.8
- mdsal-11.0.11

Change-Id: I3ac1bd9d896b74045605dffd84a9acda4521aeb9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
10 months agoBump upstreams 89/106189/2
Robert Varga [Sun, 28 May 2023 12:30:45 +0000 (14:30 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.6
- yangtools-10.0.7
- mdsal-11.0.10

Change-Id: I657abce9fc4bfdbc16da78b5562d4e7f2cdbb42c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove EmptyExternalizableProxy 72/105172/8
Robert Varga [Mon, 3 Apr 2023 14:19:26 +0000 (16:19 +0200)]
Remove EmptyExternalizableProxy

EmptyExternalizableProxy is a rather inefficient way of doing things,
remove it along with its (unused) users.

JIRA: CONTROLLER-2079
Change-Id: I87179e1e8b53547711b4d0c8ceb4607f341c997d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove legacy raft.persisted proxies 66/105166/14
Robert Varga [Mon, 3 Apr 2023 13:51:53 +0000 (15:51 +0200)]
Remove legacy raft.persisted proxies

These proxies have not been emitted since controller-7.0.0, remove them
now.

JIRA: CONTROLLER-2078
Change-Id: I31a86bf464857fccbc1d68a1f0d520971cb153b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove old payload proxies 24/103424/22
Robert Varga [Sat, 26 Nov 2022 10:59:46 +0000 (11:59 +0100)]
Remove old payload proxies

We no longer need to carry compatibility serialization proxies, remove
them.

JIRA: CONTROLLER-2057
Change-Id: Ib040c0a082c94383b0224d593ad0ebec951b4d31
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoSwitch MetadataShardDataTreeSnapshot to new Proxy 91/105891/6
Robert Varga [Thu, 11 May 2023 17:07:01 +0000 (19:07 +0200)]
Switch MetadataShardDataTreeSnapshot to new Proxy

We have defined MS as the new proxy, but have not switched to it. This
patch finishes that migration.

JIRA: CONTROLLER-2077
Change-Id: Ie8031c77e8900bd4a5e408a9a2ae7491bdf19171
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoSwitch FrontendShardDataTreeSnapshotMetadata to new proxy 90/105890/5
Robert Varga [Thu, 11 May 2023 17:00:12 +0000 (19:00 +0200)]
Switch FrontendShardDataTreeSnapshotMetadata to new proxy

We have defined FM as the new proxy, but never switched to it. This
completes the switch.

JIRA: CONTROLLER-2077
Change-Id: Idced639a04f18f33597f3580dc09ff2238467477
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoSwitch ShardSnapshot to new proxy 89/105889/1
Robert Varga [Thu, 11 May 2023 16:56:05 +0000 (18:56 +0200)]
Switch ShardSnapshot to new proxy

We have defined DSS as the new proxy, but have not switched to using it.
Fix that mistake.

JIRA: CONTROLLER-2077
Change-Id: I70570734cad9960f48850f360c8693e502b4115a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoSwitch DatastoreSnapshot to new proxy 88/105888/2
Robert Varga [Thu, 11 May 2023 16:48:28 +0000 (18:48 +0200)]
Switch DatastoreSnapshot to new proxy

We have defined DS as the new proxy, but failed to switch to it. This
patch makes that switch.

JIRA: CONTROLLER-2077
Change-Id: I5de4514b2297ca39caadb02d0c30ab7b3dc8fc5c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove ABIVersion.MAGNESIUM 95/103495/12
Robert Varga [Thu, 1 Dec 2022 15:13:17 +0000 (16:13 +0100)]
Remove ABIVersion.MAGNESIUM

This ABI versions is quite inefficient in its serialization and has been
deprecated in the previous release. This patch completes its removal.

JIRA: CONTROLLER-2062
Change-Id: I03be0d6561c4db2893e6eb0fd95e3a35e655b76e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove old unversioned proxies 86/103486/21
Robert Varga [Wed, 30 Nov 2022 22:25:28 +0000 (23:25 +0100)]
Remove old unversioned proxies

We have a number of unversioned classes which are using two
externalizable proxies. Remove legacy proxies, inlining SerialForm
interfaces.

JIRA: CONTROLLER-2063
Change-Id: If3f96563d1331dc1449bdb87baf55124e78d473a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoBump versions to 8.0.0-SNAPSHOT 85/105885/1
Robert Varga [Wed, 10 May 2023 13:37:41 +0000 (15:37 +0200)]
Bump versions to 8.0.0-SNAPSHOT

This starts the next major development iteration.

Change-Id: Ice3799a744432539a9258a6168edb5b2ad830522
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump versions to 7.0.7-SNAPSHOT 55/105555/1
Robert Varga [Thu, 20 Apr 2023 20:20:31 +0000 (22:20 +0200)]
Bump versions to 7.0.7-SNAPSHOT

This starts the next development iteration.

Change-Id: Ibca884f3a6c97f0cd834862fa7cb1d75c417a8f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump upstreams 53/105553/1
Robert Varga [Thu, 20 Apr 2023 16:58:31 +0000 (18:58 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.5
- yangtools-10.0.6
- mdsal-11.0.9

Change-Id: I92c925a816de28efeec221dddb95aa97955ab619
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump versions to 7.0.6-SNAPSHOT 21/105521/1
Robert Varga [Wed, 19 Apr 2023 21:14:32 +0000 (23:14 +0200)]
Bump versions to 7.0.6-SNAPSHOT

This starts the next development iteration.

Change-Id: If4d99ef7b344ab97dabe3c641c1b551dfb3c6646
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump upstreams 76/105476/6
Robert Varga [Mon, 17 Apr 2023 12:24:43 +0000 (14:24 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.4
- yangtools-10.0.5
- mdsal-11.0.8

Change-Id: I6a99e63080fff51681681ef80089de63af163be4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMigrate users of Optional.get() 83/105483/4
Robert Varga [Tue, 18 Apr 2023 09:07:52 +0000 (11:07 +0200)]
Migrate users of Optional.get()

We have an incoming enforcement patch, prepare to adopt it.

Change-Id: If73abd4ceaea71a216a4bc3a3968b400b508ec38
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse ArgumentMatchers.anyCollection() 02/105202/5
Robert Varga [Tue, 4 Apr 2023 06:58:49 +0000 (08:58 +0200)]
Use ArgumentMatchers.anyCollection()

Instead of using any(Collection.class) use better anyCollection()
method.

Change-Id: Icff803dd6379dc15dfca1d2ab1bf89319f583e22
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoEliminate unneeded else branch 03/105203/3
Robert Varga [Tue, 4 Apr 2023 07:07:34 +0000 (09:07 +0200)]
Eliminate unneeded else branch

Eclipse is right to point out we can just ditch the else branch.

Change-Id: I816dd9a34b6fd8e1272ad1b8b93c2c5b3120ed4b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoHonor shard-batched-modification-count 85/105185/6
Robert Varga [Mon, 3 Apr 2023 18:14:47 +0000 (20:14 +0200)]
Honor shard-batched-modification-count

RemoteProxyTransaction should honor not use a hard-coded limit, but
rather pick it up from DatastoreContext configuration.

JIRA: CONTROLLER-2075
Change-Id: I5cf6491f76c05582b2c59e918d8af9521c01d98f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoAnnotate AbstractRaftRPC with java.io.Serial 75/105175/3
Robert Varga [Mon, 3 Apr 2023 14:25:33 +0000 (16:25 +0200)]
Annotate AbstractRaftRPC with java.io.Serial

We have constructs which are related to serialization, annotate them.

Change-Id: I8e5d95adaaa25eee35dc2bba349925eb982af207
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoAnnotatate CT.readResolve() 68/105168/5
Robert Varga [Mon, 3 Apr 2023 14:06:12 +0000 (16:06 +0200)]
Annotatate CT.readResolve()

This method is used in serialization, annotate it.

Change-Id: I48a3ea80e58b38ff0304903c2cbc383bd43d504e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove explicit Serializable 69/105169/6
Robert Varga [Mon, 3 Apr 2023 14:09:52 +0000 (16:09 +0200)]
Remove explicit Serializable

All Payloads are serializable, hence AbstractIdentifiablePayload is as
well.

Change-Id: I4153cad6f800746162d5e2cebb7f80f655d6ec32
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoModernize sal-akka-raft tests 48/105148/10
Robert Varga [Mon, 3 Apr 2023 07:48:57 +0000 (09:48 +0200)]
Modernize sal-akka-raft tests

Use List.of(), Map.of() and Set.copyOf(), as well as properly-imported
assertions.

Change-Id: If7777b0e395394f54e20d1a92b7d33fccb373601
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove legacy raft message Proxy constructors 74/105174/6
Robert Varga [Mon, 3 Apr 2023 14:22:19 +0000 (16:22 +0200)]
Remove legacy raft message Proxy constructors

These constructors are not invoked anywhere, remove them. This also
means the writeExternal() method cannot legally be invoked.

Change-Id: I6c72ac334b07218d4bfb0cb1cda37771db2c0aff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove FollowerIdentifier.Proxy constructor 73/105173/6
Robert Varga [Mon, 3 Apr 2023 14:22:01 +0000 (16:22 +0200)]
Remove FollowerIdentifier.Proxy constructor

This constructor is not used anywhere, remove it. This also means
writeExternal() cannot legally be invoked.

Change-Id: Ia19dd40104d0bc5c12bc9d3ecb124254d33e0133
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove CommitTransactionPayload.Proxy constructor 67/105167/4
Robert Varga [Mon, 3 Apr 2023 13:58:47 +0000 (15:58 +0200)]
Remove CommitTransactionPayload.Proxy constructor

This constructor is not used anywhere, remove it. This also means
writeExternal() cannot legally be called.

Change-Id: Icc6dc83bafb1af96ed5ef17963ad4121250d6342
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoCentralize DataTree operations 98/105198/2
Robert Varga [Mon, 3 Apr 2023 19:10:24 +0000 (21:10 +0200)]
Centralize DataTree operations

Centralize taking the snapshot and creating a modifications to the
extent possible.

Change-Id: Ifd2632f583230046686c97cd1b07fefd06266451
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse instanceof patterns in RemoteProxyTransaction 84/105184/3
Robert Varga [Mon, 3 Apr 2023 18:09:07 +0000 (20:09 +0200)]
Use instanceof patterns in RemoteProxyTransaction

Remove explicit casts with instanceof patterns, which are safer. Also
use Optional.orElseThrow().

Change-Id: If52285168a2ec6791ca86ba095f0e944fae8d3f7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoSimplify onGetOnDemandRaftStats() 54/105154/6
Robert Varga [Mon, 3 Apr 2023 11:15:28 +0000 (13:15 +0200)]
Simplify onGetOnDemandRaftStats()

Use an ImmutableList constructed from a stream of peers, improving
density a bit.

Change-Id: I845aba32c331c6516d3ea7a8b0b5de4e9cd69754
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove ChangeServersVotingStatusState 53/105153/6
Robert Varga [Mon, 3 Apr 2023 11:08:28 +0000 (13:08 +0200)]
Improve ChangeServersVotingStatusState

We are using multiple lookups and gets and a mutable List. Improve
interactions to improve pre-sizing and use an ImmutableList, without
performing multiple intermediate lookups.

Change-Id: Ibf121c1296e093e99592921d52242e929d3b9a2a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove SimpleReplicatedLogEntry.Proxy constructor 65/105165/3
Robert Varga [Mon, 3 Apr 2023 13:44:25 +0000 (15:44 +0200)]
Remove SimpleReplicatedLogEntry.Proxy constructor

We are not using this proxy in the write path, remove its constructor.

Change-Id: Ifeefcd8cfc787306d16cbd13daf5e4537e80da91
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse instanceof pattern in FrontendReadWriteTransaction 80/105180/2
Robert Varga [Mon, 3 Apr 2023 15:17:03 +0000 (17:17 +0200)]
Use instanceof pattern in FrontendReadWriteTransaction

Improve cast safety by combining the check and cast into a instanceof
pattern,

Change-Id: I987f78de9df8ca1f3ccbb98fd807938bb0743855
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoFix StandaloneFrontendHistory accounting 59/104959/6
Šimon Ukuš [Fri, 17 Mar 2023 08:58:40 +0000 (09:58 +0100)]
Fix StandaloneFrontendHistory accounting

testTransactionForwardedToLeaderAfterRetry() is exposing a scheduling
difference between the two implementations -- with tell-based protocol
we are holding off sending modifications until there is a significant
event needing them to be flushed to the backend.

Fixing this up exposes a bug in StandaloneFrontendHistory transaction
accounting, as circles back to ShardDataTree, where its transactions
are accounted for again -- fix that mistake by allocating transactions
directly in StandaloneFrontendHistory.

JIRA: CONTROLLER-2017
Change-Id: Ied00910f55bd3c63f99ae187396c1a193e5ece20
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoAccess historyId only once 82/105182/3
Robert Varga [Mon, 3 Apr 2023 15:26:04 +0000 (17:26 +0200)]
Access historyId only once

This is a simple improvement, improving access a bit.

Change-Id: I42dbd91a0a8d5ce75cd99b36d786d446eac69501
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse instanceof pattern in AbstractFrontendHistory 79/105179/1
Robert Varga [Mon, 3 Apr 2023 15:07:21 +0000 (17:07 +0200)]
Use instanceof pattern in AbstractFrontendHistory

Reduce the number of casts by using instanceof patterns.

Change-Id: I0ce1ca0229b1e55a5b4745584b679a7872953297
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoFix DistributedDataStoreRemotingIntegrationTest typos 78/105178/1
Robert Varga [Mon, 3 Apr 2023 14:59:40 +0000 (16:59 +0200)]
Fix DistributedDataStoreRemotingIntegrationTest typos

We have a few typos in comments, fix them up.

Change-Id: I574849a397f6dea62e928026609c8a191451d701
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoAdd java.io.Serial to EmptyState 64/105164/2
Robert Varga [Mon, 3 Apr 2023 13:43:58 +0000 (15:43 +0200)]
Add java.io.Serial to EmptyState

Annotate members related to serialization.

Change-Id: I46b486244cd4f34dbae47c459c353411eccdf675
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMark Payloads with java.io.Serial 63/105163/2
Robert Varga [Mon, 3 Apr 2023 13:37:19 +0000 (15:37 +0200)]
Mark Payloads with java.io.Serial

We have a number of fields/methods which should be marked with @Serial,
add another pass on them.

Change-Id: Ie08d6e718980e4e3acb148226760ad75ef82566e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove ServerConfigurationPayload.equals() 62/105162/2
Robert Varga [Mon, 3 Apr 2023 13:31:47 +0000 (15:31 +0200)]
Improve ServerConfigurationPayload.equals()

Use pattern matching on instanceof to reduce verbosity while retaining
semantics.

Change-Id: I2600f35ae6c71c9e235609246f775fdc9f8eb6b2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMark readResolve() with @Serial 61/105161/2
Robert Varga [Mon, 3 Apr 2023 13:31:18 +0000 (15:31 +0200)]
Mark readResolve() with @Serial

This method is related to serialization, mark it as such.

Change-Id: I65fc80e73a7a6775e8f535f85ba8c5af7ab6677b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove Follower's Snapshot 52/105152/4
Robert Varga [Mon, 3 Apr 2023 10:57:54 +0000 (12:57 +0200)]
Improve Follower's Snapshot

Use List.of() to communicate empty lists.

Change-Id: I5cebcde9e92b11a82be0bddf3645eeb8bc909895
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove Candidate.votingPeers 51/105151/4
Robert Varga [Mon, 3 Apr 2023 10:55:44 +0000 (12:55 +0200)]
Improve Candidate.votingPeers

Use ImmutableList to ensure the list is never modified. This also
improves overhead/performance slightly.

Change-Id: Iad491da0e446da0a07e96067846c2c57c0dcfb9a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse ImmutableList in raft persisted/messages 50/105150/4
Robert Varga [Mon, 3 Apr 2023 10:50:12 +0000 (12:50 +0200)]
Use ImmutableList in raft persisted/messages

We are using temporary ArrayList, where we could be using
ImmutableList.builder(). Fix these up, improving immutability
guarantees.

Change-Id: I14412ad6614463fe0f1fc5abdd72e147e189c5cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoClean up sal-clustering-commons 60/105160/1
Robert Varga [Mon, 3 Apr 2023 12:08:53 +0000 (14:08 +0200)]
Clean up sal-clustering-commons

Clean up argument finality and whitespace in for(:) constructs.

Change-Id: If22f693e6c499aafc8fe0a606b2abb40a9f67cfc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoClean up RpcErrorsException 59/105159/1
Robert Varga [Mon, 3 Apr 2023 12:03:34 +0000 (14:03 +0200)]
Clean up RpcErrorsException

Fix whitespace and use local variable type inference to improve sizing.

Change-Id: I344305a59e3b0078d942636c339d1686c006e4a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoMove atomix-storage to a top-level directory 35/105035/3
Robert Varga [Mon, 27 Mar 2023 11:25:57 +0000 (13:25 +0200)]
Move atomix-storage to a top-level directory

The directory structure no longer makes sense here, move the single
component to a top-level directory.

JIRA: CONTROLLER-2072
Change-Id: Ib011d88908547059e21a11820b0531c6edb5a680
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRename Namespace to KryoJournalSerdes 45/104745/9
Robert Varga [Thu, 2 Mar 2023 20:05:53 +0000 (21:05 +0100)]
Rename Namespace to KryoJournalSerdes

Reduce naming confusion -- Namespace really is a Kryo-based
implementation of JournalSerdes. KryoJournalSerdesBuilder is separated
out so that Kryo interfaces are not leaked outside of the package.

JIRA: CONTROLLER-2072
Change-Id: I75e7a6f30d6319c4284acd76ec098224380e3b70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoAdd RegisteredType 44/104744/10
Robert Varga [Thu, 2 Mar 2023 20:01:09 +0000 (21:01 +0100)]
Add RegisteredType

Reduce verbosity by introducing a private DTO to hold the combination of
a Serializer and its associated classes.

JIRA: CONTROLLER-2072
Change-Id: I9cdf32d6107740d5a07cfdb884bd4641c242450e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.RegistrationBlock 43/104743/9
Robert Varga [Thu, 2 Mar 2023 19:51:44 +0000 (20:51 +0100)]
Remove Namespace.RegistrationBlock

We always create a single block. Remove the unused complexity here and
move Builder class to the bottom so as not to clutter things.

JIRA: CONTROLLER-2072
Change-Id: Ia7d31aa717aeeb17f6d2419d05818f88b0c27c4b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.FLOATING_ID 42/104742/8
Robert Varga [Thu, 2 Mar 2023 19:36:10 +0000 (20:36 +0100)]
Remove Namespace.FLOATING_ID

We do not allow for dynamically-allocated IDs. Remove the constant and
the corresponding special-case.

JIRA: CONTROLLER-2072
Change-Id: I7de4ec77bd6934cd89c78de406cf9e0c73fa2cd4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>