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>
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>
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>
jenkins-releng [Thu, 31 Aug 2023 06:12:44 +0000 (06:12 +0000)]
Release controller
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
jenkins-releng [Sun, 2 Jul 2023 10:04:49 +0000 (10:04 +0000)]
Release controller
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Š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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Robert Varga [Thu, 2 Mar 2023 18:57:03 +0000 (19:57 +0100)]
Do not leak Kryo from atomix.storage
Rather than dealing with Kryo serializers, introduce separate interfaces
to deal with input/output and serialization logic.
This allows us to be in explicit control as to what interface do we
support towards segmented journal persistence. It further means Kryo is
now a pure implementation thing and can be removed without changing the
APIs.
JIRA: CONTROLLER-2072
Change-Id: Ib4550f5f29d33d792f37110b5a14756654a5b87e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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>
Robert Varga [Mon, 27 Mar 2023 11:28:27 +0000 (13:28 +0200)]
Fixup atomix references
We do not want to reference atomix from its original upstream. Fix that
up.
JIRA: CONTROLLER-2071
Change-Id: Ifdbb766135ecf86b1c848cfc1e53487c9b52e4c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 2 Mar 2023 17:38:30 +0000 (18:38 +0100)]
Introduce atomix.storage.journal.JournalSerdes
The interfaces are tightly coupled with namespace implementation, which
in turn is tightly coupled to Kryo.
As a first step to disconnect these three, introduce JournalSerdes,
which acts as the public API implemented by Namespace. This allows us to
hide atomix.utils.serializer package at least from OSGi.
Change-Id: I9668ba2eb3e0a58d7ed27ee09ec1bb3cee069eb4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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>
Robert Varga [Thu, 2 Mar 2023 19:09:29 +0000 (20:09 +0100)]
Fix warnings in StorageException
Exceptions are serializable and therefore should define
serialVersionUID. Fix this omission.
Change-Id: I24daa7ca923d6df71beaf7325b57fc306564f366
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Yaroslav Lastivka [Wed, 22 Feb 2023 09:55:12 +0000 (11:55 +0200)]
Delete websocket-change-event-notification-subscription-tutorial
Websocket-change-event-notification-subscription-tutorial was
moved to Netconf user-guide
JIRA: NETCONF-962
Change-Id: Ie93e3f3eced3b3bae1658bfb957ba52e0288d0e7
Signed-off-by: Yaroslav Lastivka <yaroslav.lastivka@pantheon.tech>
Robert Varga [Thu, 2 Mar 2023 20:12:51 +0000 (21:12 +0100)]
Fixup javadoc
MAX_BUFFER_SIZE was removed, do not reference it.
JIRA: CONTROLLER-2072
Change-Id: I95892c5bf85621f75791d51177af5aa21ec23329
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 2 Mar 2023 17:01:56 +0000 (18:01 +0100)]
Remove Namespace.populate()
populate() is implementation specific and used only internally.
Integrate it into the constructor.
JIRA: CONTROLLER-2072
Change-Id: I6a78a506d2a7936f84dac332928848af832a21aa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 2 Mar 2023 16:40:44 +0000 (17:40 +0100)]
Position is a simple record
This is a pure DTO, reduce verbosity by turning it into a plain record.
Change-Id: Ife6286343f1bc3f88c9586c6a011ef08b182ac1d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 2 Mar 2023 16:36:43 +0000 (17:36 +0100)]
Remove DelegatingJournal{,Reader,Writer}
These classes are not used anywhere, remove them to improve code
navigability.
JIRA: CONTROLLER-2071
Change-Id: I45c3f9953c6794ed55053ac1193d14d83b844ad0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>