controller.git
11 months agoRemove JournalWriter.append(Indexed) 76/110676/1
Robert Varga [Tue, 12 Mar 2024 09:24:04 +0000 (10:24 +0100)]
Remove JournalWriter.append(Indexed)

This method is only used in a single test and can be realized via the
usual append(E) method. Remove it.

JIRA: CONTROLLER-2101
Change-Id: Ie1ec3507c18d9970be4968c9239b08ad8323f3a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 42aa6677b87768cfc3a0f63539c5a6e6a2f509cb)

11 months agoClean up JournalSegment 48/110648/1
Robert Varga [Mon, 11 Mar 2024 12:23:08 +0000 (13:23 +0100)]
Clean up JournalSegment

We have plenty of unused and needlessly-public methods. Clean that up.

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

11 months agoHide SegmentedJournal{Reader,Writer} 47/110647/1
Robert Varga [Mon, 11 Mar 2024 11:49:40 +0000 (12:49 +0100)]
Hide SegmentedJournal{Reader,Writer}

These classes are define by Journal{Reader,Writer} interfaces, hide them
as they are pure implementation details.

JIRA: CONTROLLER-2098
Change-Id: I1149b970001cb64ffe503f128cce3864e396280a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 66dc95ca1b4cd88e8718086c6c902c9ad201286b)

11 months agoDisconnect JournalSegmentWriter from JournalWriter 46/110646/1
Robert Varga [Mon, 11 Mar 2024 11:08:05 +0000 (12:08 +0100)]
Disconnect JournalSegmentWriter from JournalWriter

JournalSegmentWriter is really the internal API, so it should not have a
public API straightjacket. Disconnect the implementation, making method
properly package-private.

This also makes it very clear that JournalWriter is not something users
should close() -- because doing so would wreck internal machinery rather
thoroughly, rendering the segment writer inoperable -- and that should
only be possible via JournalSegment's lifecycle.

JIRA: CONTROLLER-2098
Change-Id: Ia18b0dc640cba11689bb36cf338c8cef3ae4e6f8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 45661c71a7e3d762ceb7ac12ced3c383ba65ac76)

11 months agoRemove MappableJournalSegmentWriter 45/110645/1
Robert Varga [Mon, 11 Mar 2024 10:56:22 +0000 (11:56 +0100)]
Remove MappableJournalSegmentWriter

MappableJournalSegmentWriter is now just mediating implementation access
-- which is always is now guarded by a reference.

This means we can ditch this indirection and give out
SegmentedJournalWriter directly.

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

11 months agoRework JournalSegment writer access 44/110644/1
Robert Varga [Mon, 11 Mar 2024 10:45:51 +0000 (11:45 +0100)]
Rework JournalSegment writer access

The only user of JournalSegment.writer() is SegmentedJournalWriter,
which is using acquire/release to guard access to the writer.

Rework these methods so that acquire/release are internal and exposed
functionality is acquireWriter() and releaseWriter().

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

11 months agoDisconnect JournalSegmentReader from JournalReader 43/110643/1
Robert Varga [Mon, 11 Mar 2024 10:28:37 +0000 (11:28 +0100)]
Disconnect JournalSegmentReader from JournalReader

JournalSegmentReader is the only used by SegmentedJournalReader, which
is the actual implementation of JournalReader.

There is really no point in JournalSegmentReader to conform to the
public API, as not all elements are needed.

This disconnects JournalSegmentReader, eliminating getFirstIndex(), as
that is simply not called -- and was not conforming to the API anyway.

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

11 months agoEliminate MappableJournalSegmentReader 42/110642/1
Robert Varga [Mon, 11 Mar 2024 10:13:05 +0000 (11:13 +0100)]
Eliminate MappableJournalSegmentReader

MappableJournalSegmentReader is an indirection used by
JournalSegmentReader to get a stable reader and the backend is
manipulated via map()/unmap() operations.

This is sort of a band-aid to lifecycle, as JournalSegment.close()
eagerly closes the writer, which in turn invalidates buffer and all that
jazz.

This dance is quite unnecessary, as JournalSegmentReader always acquires
the Segment, hence as long as it has a reader, the segment is guaranteed
to be mapped -- except for the case of close().

This patch reworks the logic in couple of ways:
- references are now guarding the writer itself, so as long as there are
  some, the writer is not closed.
- createReader() now increments the reference count, which means we can
  directly allocate the appopriate JournalSegmentReader implementation
- JournalSegmentReader.close() now routes to
  JournalSegment.closeReader(), which in turn releases the reference

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

11 months agoHide JournalSegment 41/110641/1
Robert Varga [Mon, 11 Mar 2024 10:02:19 +0000 (11:02 +0100)]
Hide JournalSegment

JournalSegment is an implementation detail, which we do not want to leak
to the outside world. Hide it an make it final.

JIRA: CONTROLLER-2098
Change-Id: Ife71005f481c7ffb3c2eb6b89d3c5afa5e7f1609
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 08ea7b7900a387c0afb07664147d3c652dc1047e)

11 months agoClean up SegmentedJournalWriter 40/110640/1
Robert Varga [Mon, 11 Mar 2024 08:08:57 +0000 (09:08 +0100)]
Clean up SegmentedJournalWriter

We have duplicated code in append() methods and their recovery is not
obvious. Move common code into a private method and reduce the size of
catch blocks.

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

11 months agoClean up SegmentedJournalReader 39/110639/1
Robert Varga [Mon, 11 Mar 2024 07:44:57 +0000 (08:44 +0100)]
Clean up SegmentedJournalReader

We have bit of duplicated code dealing with moving to next segment.
Concentrate it to a single method.

This shows the code actually has a bug, where it fails to close the
reader -- hence potentially leaking.

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

11 months agoDo not store JournalSegment in JournalSegmentWriter 38/110638/1
Robert Varga [Sun, 10 Mar 2024 22:01:42 +0000 (23:01 +0100)]
Do not store JournalSegment in JournalSegmentWriter

We are only accessing index() and maxSegmentSize. We already copy
index() to firstIndex, so let's do the same maxSegmentSize and use
firstIndex instead of accessing segment.index().

JIRA: CONTROLLER-2098
Change-Id: Ia8a24c7f73187a5803d279309775f361a39c91b0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 8442a2fb1750d67970672c484fa77f413692ff8c)

11 months agoInline SegmentedJournalReader.initialize() 29/110629/1
Robert Varga [Sun, 10 Mar 2024 18:25:50 +0000 (19:25 +0100)]
Inline SegmentedJournalReader.initialize()

This method is only invoked from the constructor, inline it there to
similify lifecycle.

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

11 months agoRemove MappableJournalSegmentWriter.firstIndex() 28/110628/1
Robert Varga [Sun, 10 Mar 2024 18:20:31 +0000 (19:20 +0100)]
Remove MappableJournalSegmentWriter.firstIndex()

This method is not used anywhere, remove it. This makes
MappableJournalSegmentWriter a pure delegator with map/unmap changing
the delegate object.

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

11 months agoShare FileChannel across all JournalSegmentReaders 27/110627/1
Robert Varga [Sun, 10 Mar 2024 18:00:39 +0000 (19:00 +0100)]
Share FileChannel across all JournalSegmentReaders

Now that neither the writer not reader manipulates FileChannel state, we
can share a single channel. This has the nice effect of lifting its
lifecycle management completely to JournalSegment.

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

11 months agoExpand JournalSegmentReader 26/110626/1
Robert Varga [Sun, 10 Mar 2024 17:21:00 +0000 (18:21 +0100)]
Expand JournalSegmentReader

The two subclasses contain a lot of duplicated code. This patch
centralizes most code to reside in JournalSegmentReader.

JIRA: CONTROLLER-2098
Change-Id: I09a968ff8a283fc86f8591ab3d302cc2af0eb86a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 541edfced96299522aabbfd5c4b6123653efe038)

11 months agoIntroduce JournalSegmentReader 25/110625/1
Robert Varga [Sun, 10 Mar 2024 16:33:55 +0000 (17:33 +0100)]
Introduce JournalSegmentReader

The two implementations for accessing the file have a common API and
potentially share a lot of code. Introduce JournalSegmentReader to act
as a common superclass.

JIRA: CONTROLLER-2098
Change-Id: Ie8b524812f6193206e1df100ac55ed4f11ad9f5c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 27d35a2e5f5db0ba2d637a86cbe888c3b874982a)

11 months agoPerform proper handoff between JournalSegmentWriters 24/110624/1
Robert Varga [Sun, 10 Mar 2024 13:27:28 +0000 (14:27 +0100)]
Perform proper handoff between JournalSegmentWriters

Switching between JournalSegmentWriter implementations is a matter of
just handing off state, which is limited to the last entry and position
in the file.

This patch introduces alternative constructors, which allow this state
to be moved to the new implementation without needing to re-read the
file.

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

11 months agoMove JournalSegmentWriter switchover logic 23/110623/1
Robert Varga [Sun, 10 Mar 2024 11:53:21 +0000 (12:53 +0100)]
Move JournalSegmentWriter switchover logic

This patch moves the logic to JournalSegmentWriter implementations,
which allows us to communicate internal state without the need to
re-establish it or leak it to the outside world.

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

11 months agoIntroduce JournalSegmentWriter 08/110608/1
Robert Varga [Sun, 10 Mar 2024 11:22:56 +0000 (12:22 +0100)]
Introduce JournalSegmentWriter

MappableJournalSegmentWriter needs to flip between the two
implementations with seamless handoff.

Introduce JournalSegmentWriter as common superclass, exposing
currently-used interface.

JIRA: CONTROLLER-2043
JIRA: CONTROLLER-2098
Change-Id: I11f01ea027a757a32e25bf434d29abeca7d40f6e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit b1773fc588ee5ea36f3bf5378ff54aa3dbffb64e)

11 months agoTrack channel position in explicit field 07/110607/1
Robert Varga [Sat, 9 Mar 2024 17:28:02 +0000 (18:28 +0100)]
Track channel position in explicit field

Rather than manipulating the channel, use an explicit field to keep
track of our current position.

JIRA: CONTROLLER-2095
Change-Id: I50adbef833251035f7c54ec624f9a03d59b5c7c9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 07f772e01ad41bfa6aacf037c2e19b2be87f3bc6)

11 months agoSimplify FileChannelJournalSegmentWriter position tracking 06/110606/1
Robert Varga [Sat, 9 Mar 2024 17:13:01 +0000 (18:13 +0100)]
Simplify FileChannelJournalSegmentWriter position tracking

This patch makes the obvious switch in state tracking: memory buffer
does not hold anything of value w.r.t. overall state, so there is no
point in marking/resetting and maintaining memory.position() beyond
what we need for reading from it.

Local 'position' acts now as the authoritative source of where we want
to go and we propagate it to channel position when we validate an entry.

JIRA: CONTROLLER-2095
Change-Id: Iab150a3c7348c714170223b397167cd4bb87f087
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 7dd119a473054c089c12e66780b136f11eb4f5d2)

11 months agoImprove entry crc32 computation 05/110605/1
Robert Varga [Sat, 9 Mar 2024 15:03:10 +0000 (16:03 +0100)]
Improve entry crc32 computation

We have a codepath difference here, where we use either a ByteBuffer or
a raw array to compute CRC32.

MappedJournalSegmentWriter does not make it immediately clear we use
this buffer twice -- once for CRC32 and once for deserialization.

Move acquisition of slice just after we have read the expected CRC32, so
it is clear it is something we would be doing even if there were no
checksum involved.

Mirror the same in FileChannelJournalSegmentWriter, as this will allow
us to further consolidate the code and stop mucking with memory.limit(),
which is causing us to invalidate our previously-set mark.

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

11 months agoInvert checksum check 04/110604/1
Robert Varga [Sat, 9 Mar 2024 14:49:37 +0000 (15:49 +0100)]
Invert checksum check

We have a hardly-visible else branch which terminates our loop. Increase
its visibility by making it a dedicated if.

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

11 months agoDo not use java.util.zip.Checksum 03/110603/1
Robert Varga [Sat, 9 Mar 2024 14:32:01 +0000 (15:32 +0100)]
Do not use java.util.zip.Checksum

We are using this interface only for local variable type declaration,
use CRC32 directly, just as MappedJournalSegmentWriter does.

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

11 months agoReduce position changes during read 02/110602/1
Robert Varga [Sat, 9 Mar 2024 14:29:56 +0000 (15:29 +0100)]
Reduce position changes during read

Rather than using a read() which updates the position, requiring us to
set the position again, set it only once and use read with offset --
eliminating one syscall.

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

11 months agoClean up initial FileChannel writer reset's read 01/110601/1
Robert Varga [Sat, 9 Mar 2024 14:13:20 +0000 (15:13 +0100)]
Clean up initial FileChannel writer reset's read

The code here bears marks of 'copy, paste and cudgel to compliance'
programming and is strikingly similar to what MappedJournalSegmentWriter
does -- except it needs to deal with reading as well.

This patch takes the first step towards sanity by eliminating a useless
if() and uses FileChannel.read(ByteBuffer, long) to reduce position
adjustments.

JIRA: CONTROLLER-2095
Change-Id: I528cb14608402a406e20d168a7e8520c9eb66edf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 62351d41be04a723dce6c1268475f27a0ca0dfe6)

11 months agoOptimize MappedJournalSegmentWriter.truncate() 00/110600/1
Robert Varga [Sat, 9 Mar 2024 13:33:11 +0000 (14:33 +0100)]
Optimize MappedJournalSegmentWriter.truncate()

Reduce code duplication by separating current position manipulation and
entry zero-out.

Also use a single putLong() instead of two putInt()s, eliminating one
range check.

Overall this makes the two implementations much more similar, allowing
sharing code at some later point in the future.

JIRA: CONTROLLER-2095
Change-Id: I9791b5e27a779210b5500a7923ccada7156f26e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 5b9d16d22b8645011f8a79167da4d31a46195327)

11 months agoOptimize FileChannelJournalSegmentWriter.truncate() 99/110599/1
Robert Varga [Sat, 9 Mar 2024 13:09:45 +0000 (14:09 +0100)]
Optimize FileChannelJournalSegmentWriter.truncate()

FileChannelJournalSegmentWriter.truncate() is inefficient in that it
zeroes-out its memory buffer and then writes it completely out.

This patch aligns it with what MappedJournalSegmentWriter does, which is
just zeroing out the entry header -- reducing both IO and CPU overheads.

JIRA: CONTROLLER-2095
Change-Id: I487157e78524cc9b00c9efff2064dbe892638ae4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 4a74d808e33fef2e002af1acc996b7a2ba228757)

11 months agoImprove FileChannelJournalSegmentWriter.truncate() 98/110598/1
Robert Varga [Sat, 9 Mar 2024 12:30:12 +0000 (13:30 +0100)]
Improve FileChannelJournalSegmentWriter.truncate()

Reduce the dance around channel position by explicitly passing it down,
thus reducing the number of syscalls we incur.

Also inline FileChannelJournalSegmentWriter.zero() and add a FIXME to
improve our zero-out strategy.

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

11 months agoRemove unused {FileChannel,Mapped}JournalSegmentWriter methods 97/110597/1
Robert Varga [Sat, 9 Mar 2024 12:38:05 +0000 (13:38 +0100)]
Remove unused {FileChannel,Mapped}JournalSegmentWriter methods

We have a few methods which are not used anywhere, remove them to
simplify things.

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

11 months agoOptimize FileChannelJournalSegmentReader channel use 96/110596/1
Robert Varga [Sat, 9 Mar 2024 09:47:49 +0000 (10:47 +0100)]
Optimize FileChannelJournalSegmentReader channel use

We use FileChannel to maintain our position for a particular reader,
which is a naive implementation.

Since FileChannel's position is tied to the underlying file descriptor,
each such manipulation involves locking and system calls.

Switch to maintaining the position ourselves and using
FileChannel.read(buffer, position), improving performance.

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

11 months agoAdd RTD configuration 36/110536/2
Robert Varga [Thu, 7 Mar 2024 13:31:29 +0000 (14:31 +0100)]
Add RTD configuration

RTD requires configuration, add it.

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

11 months agoBump Scala to 2.13.13 87/110387/1
Robert Varga [Tue, 27 Feb 2024 09:39:19 +0000 (10:39 +0100)]
Bump Scala to 2.13.13

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

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

13 months agoEnable requiremens in sal-distributed-datastore 66/109966/1
Robert Varga [Wed, 24 Jan 2024 09:39:23 +0000 (10:39 +0100)]
Enable requiremens in sal-distributed-datastore

The upstream issue has been fixed a few moons back, remove the
workaround we carry.

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

13 months agoSeal TransmitQueue 47/109547/1
Robert Varga [Fri, 5 Jan 2024 20:01:06 +0000 (21:01 +0100)]
Seal TransmitQueue

There should ever only be two implementations, seal the base class.

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

13 months agoMigrate ActorBehaviorTest to JUnit5 66/109566/2
Robert Varga [Fri, 29 Dec 2023 11:10:26 +0000 (12:10 +0100)]
Migrate ActorBehaviorTest to JUnit5

Eliminate the need for mockito-subclass by migrating to JUnit5 and
correcting mocking configuration.

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

13 months agoDeprecate EmptyExternalizable for removal 44/109544/1
Robert Varga [Sat, 30 Dec 2023 20:44:53 +0000 (21:44 +0100)]
Deprecate EmptyExternalizable for removal

This class is not used anywhere, deprecate it for removal.

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

13 months agoDeprecate SuccessReply for removal 43/109543/1
Robert Varga [Sat, 30 Dec 2023 20:39:31 +0000 (21:39 +0100)]
Deprecate SuccessReply for removal

This class is not used anywhere, deprecate it for removal.

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

13 months agoDo not use static import for Patterns.ask() 42/109542/1
Robert Varga [Sat, 30 Dec 2023 21:46:02 +0000 (22:46 +0100)]
Do not use static import for Patterns.ask()

Improve call site visibility by explicitly referencing this method as
Patterns.ask().

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

13 months agoUse instanceof patterns in ShardManager 41/109541/1
Robert Varga [Sat, 30 Dec 2023 21:58:36 +0000 (22:58 +0100)]
Use instanceof patterns in ShardManager

Reduce the amount of casts we perform by using instanceof patterns.

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

13 months agoTurn ShardContainer into a record 40/109540/1
Robert Varga [Sun, 31 Dec 2023 00:23:35 +0000 (01:23 +0100)]
Turn ShardContainer into a record

We have Java 17 now, use a record instead of a final class.

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

13 months agoAccess clientActor exactly once 39/109539/1
Robert Varga [Sun, 31 Dec 2023 02:39:35 +0000 (03:39 +0100)]
Access clientActor exactly once

Make sure the null check is explicit to everyone.

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

13 months agoBump Kryo to 4.0.3 45/109545/2
Robert Varga [Sun, 31 Dec 2023 12:16:35 +0000 (13:16 +0100)]
Bump Kryo to 4.0.3

https://github.com/EsotericSoftware/kryo/releases/tag/kryo-parent-4.0.3

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

13 months agoMake LocalSnapshotStore final 38/109538/1
Robert Varga [Sun, 31 Dec 2023 18:36:31 +0000 (19:36 +0100)]
Make LocalSnapshotStore final

We have a SpotBugs suppression which ends up being unnecessary if the
class is final.

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

13 months agoTurn LongSerdes into an enum 37/109537/1
Robert Varga [Sun, 31 Dec 2023 14:38:29 +0000 (15:38 +0100)]
Turn LongSerdes into an enum

Use proper singleton for reuse.

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

13 months agoRename DataJournalEntrySerializer 36/109536/1
Robert Varga [Sun, 31 Dec 2023 14:39:50 +0000 (15:39 +0100)]
Rename DataJournalEntrySerializer

DataJournalEntrySerdes is the proper name, use that.

JIRA: CONTROLLER-2089
Change-Id: I53247f7b226ed7ab0ff42ac24ad6f4d549e5db97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 11483316054fd9862949e68f09326b90de1834b4)

13 months agoModernize sal-akka-segmented-journal 35/109535/1
Robert Varga [Fri, 29 Dec 2023 11:58:53 +0000 (12:58 +0100)]
Modernize sal-akka-segmented-journal

Use local variable type inference, instanceof patterns and seal
DataJournalEntry.

JIRA: CONTROLLER-2089
Change-Id: I3c2ee2de5eaae6874e2f75a44dfd6fce0942e8ae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 7e629cabf95cf30562f10a658c8ebdd724d1b18d)

13 months agoServerInfo should be a plain record 34/109534/1
Robert Varga [Fri, 29 Dec 2023 12:30:50 +0000 (13:30 +0100)]
ServerInfo should be a plain record

This is a pure DTO, turn it into a record, eliminating quite a bit of
verbosity.

Also clean up RaftActorContextImpl.updatePeerIds() so we do not juggle
two booleans and set/reset our voting status.

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

13 months agoBump versions to 8.0.5-SNAPSHOT 71/109471/1
Robert Varga [Fri, 29 Dec 2023 07:27:57 +0000 (08:27 +0100)]
Bump versions to 8.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: Ib1a36a0278af6034f2378fa91a7e2103b9abf0ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRelease controller v8.0.4
jenkins-releng [Fri, 29 Dec 2023 05:11:03 +0000 (05:11 +0000)]
Release controller

13 months agoClean up Shard a bit 63/109463/2
Robert Varga [Fri, 29 Dec 2023 02:40:00 +0000 (03:40 +0100)]
Clean up Shard a bit

Use instanceof patterns and local variable type inference to simplify
code a bit.

Change-Id: If437909b1a012a60fa5fd296dda6bffeb161fd25
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months ago{Start,Stop}DropMessages is generic 57/109457/3
Robert Varga [Fri, 29 Dec 2023 01:19:26 +0000 (02:19 +0100)]
{Start,Stop}DropMessages is generic

Add a diamond to constructor invocations to remove warnings.

Change-Id: I29f063eaf65656aef6715a8fe710e2afb35169e7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove setupDistributedDataStore() 58/109458/1
Robert Varga [Fri, 29 Dec 2023 01:40:16 +0000 (02:40 +0100)]
Remove setupDistributedDataStore()

These methods are no longer in use, remove them.

JIRA: CONTROLLER-2054
Change-Id: I8be5220eddb093e43ff3c71aa13fa40a60ddcc5a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump upstreams 48/109448/4
Robert Varga [Thu, 28 Dec 2023 20:35:07 +0000 (21:35 +0100)]
Bump upstreams

Adopt:
- odlparent-13.0.10
- yangtools-11.0.5
- mdsal-12.0.4

Change-Id: Ia6f7420c5751436ec97d0a45187d79dadf9c3d94
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoClean up ClientBackedDataStoreTest 54/109454/2
Robert Varga [Fri, 29 Dec 2023 00:46:03 +0000 (01:46 +0100)]
Clean up ClientBackedDataStoreTest

Use local variable type inference to simplify code a bit.

Change-Id: I5d6c116f40fb84250b3f775e92b98de558dde14d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove setupDistributedDataStoreWithoutConfig() 53/109453/2
Robert Varga [Fri, 29 Dec 2023 00:40:16 +0000 (01:40 +0100)]
Remove setupDistributedDataStoreWithoutConfig()

These legacy methods have been deprecated since previous major version,
remove them.

JIRA: CONTROLLER-2054
Change-Id: I13077de6ca505af6bf8627d7094e49a719636e32
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse constructor injection in OSGiDistributedDataStore 50/109450/1
Robert Varga [Thu, 28 Dec 2023 21:27:36 +0000 (22:27 +0100)]
Use constructor injection in OSGiDistributedDataStore

Upgraded SpotBugs does not like unitialized fields. Use constructor
injection to properly set them up.

Change-Id: I8d5226a8b0b6b2929eba3d4d9a73ac8e1c72613a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse VarHandles.fullFence() instead of an 'updated' field 49/109449/1
Robert Varga [Thu, 28 Dec 2023 21:10:15 +0000 (22:10 +0100)]
Use VarHandles.fullFence() instead of an 'updated' field

Upgraded SpotBugs does not like an otherwise-unused field. Preempt
failures by using VarHandles.fullFence() instead.

Also modernize ActorUtils by using instanceof patterns and local
variable type inference.

Change-Id: Iec9b717eaf821657f3ced659e0c6e86f360b21c5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse constructor injection in OSGiActorSystemProvider 47/109447/1
Robert Varga [Thu, 28 Dec 2023 20:57:03 +0000 (21:57 +0100)]
Use constructor injection in OSGiActorSystemProvider

Upgraded SpotBugs does not like us not having initialized fields, use
contructor injection to side-step these warnings.

Change-Id: I3eef23b3cea88c97ccd8cb8794ec0587f07ccc77
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDo not allow global timer to be stopped 46/109446/1
Robert Varga [Thu, 28 Dec 2023 20:34:11 +0000 (21:34 +0100)]
Do not allow global timer to be stopped

We have a globally-shared instance, it should never be stopped via
Timer.stop(). Log a warning whenever that is atttempted.

Change-Id: Id29f3799024b826d2278bf95f75cc661f85ab8e8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse constructor injection for OSGiGlobalTimer 45/109445/1
Robert Varga [Thu, 28 Dec 2023 20:32:15 +0000 (21:32 +0100)]
Use constructor injection for OSGiGlobalTimer

Upgraded SpotBugs is warning about field initialization, side-step it by
using constructor injection.

Change-Id: I1697459db8d72c956649f3c61f3d090322c3e9fb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse constructor injection in OSGiRemoteOpsProvider 44/109444/1
Robert Varga [Thu, 28 Dec 2023 20:18:13 +0000 (21:18 +0100)]
Use constructor injection in OSGiRemoteOpsProvider

We have a simple component here, use constructor injection to preempty
upgraded SpotBugs issuing errors on it.

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

15 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>
15 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>
15 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>
16 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>
16 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>
16 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>
17 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>
17 months agoRelease controller v8.0.2
jenkins-releng [Mon, 18 Sep 2023 08:42:52 +0000 (08:42 +0000)]
Release controller

17 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>
17 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>
17 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>
17 months agoRelease controller v8.0.1
jenkins-releng [Thu, 31 Aug 2023 06:12:44 +0000 (06:12 +0000)]
Release controller

17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
17 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>
18 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>
18 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>
18 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>
19 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>
19 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>
19 months agoRelease controller v8.0.0
jenkins-releng [Sun, 2 Jul 2023 10:04:49 +0000 (10:04 +0000)]
Release controller

19 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>
19 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>
19 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>
19 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>
19 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>
19 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>
19 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>
19 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>
19 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>