controller.git
13 months agoDo not leak Kryo from atomix.storage 40/104740/8
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>
13 months agoUpgrade reflectasm to 1.11.9 39/105039/3
Robert Varga [Mon, 27 Mar 2023 11:58:44 +0000 (13:58 +0200)]
Upgrade reflectasm to 1.11.9

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

Change-Id: I489f75a63f9649518493291fe0f36362d4011242
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFixup atomix references 36/105036/1
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>
13 months agoIntroduce atomix.storage.journal.JournalSerdes 39/104739/5
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>
13 months agoDump DTCL changes on trace 31/105031/2
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>
13 months agoFix warnings in StorageException 41/104741/3
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>
13 months agoDelete websocket-change-event-notification-subscription-tutorial 74/104474/6
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>
13 months agoFixup javadoc 46/104746/1
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>
13 months agoRemove Namespace.populate() 38/104738/1
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>
13 months agoPosition is a simple record 37/104737/3
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>
13 months agoRemove DelegatingJournal{,Reader,Writer} 36/104736/1
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>
13 months agoRemove Namespace.size() 35/104735/1
Robert Varga [Thu, 2 Mar 2023 16:32:20 +0000 (17:32 +0100)]
Remove Namespace.size()

This method is not used anywhere, remove it.

JIRA: CONTROLLER-2072
Change-Id: Ia1d4e2fb4b1b3421a3a67521a7afec0687f2855a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.friendlyName() 34/104734/1
Robert Varga [Thu, 2 Mar 2023 16:30:51 +0000 (17:30 +0100)]
Remove Namespace.friendlyName()

This is a useless private method remove it.

JIRA: CONTROLLER-2072
Change-Id: Iadfb538b57222e60b09e7b05fd26b5810878b9c4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.Builder.setRegistrationRequired() 33/104733/1
Robert Varga [Thu, 2 Mar 2023 16:18:05 +0000 (17:18 +0100)]
Remove Namespace.Builder.setRegistrationRequired()

We want users to always register serializers, remove the option to not
do so.

JIRA: CONTROLLER-2072
Change-Id: I8aeb47045353b058556498bc4e6b64307646d924
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.DEFAULT 32/104732/1
Robert Varga [Thu, 2 Mar 2023 16:11:10 +0000 (17:11 +0100)]
Remove Namespace.DEFAULT

We want users to explicitly set up their namespaces, hence remove the
default namespace.

JIRA: CONTROLLER-2072
Change-Id: Id97bc5d5696dd8f12a34bf8d3378344da3396b49
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.MAX_BUFFER_SIZE 31/104731/1
Robert Varga [Thu, 2 Mar 2023 16:09:45 +0000 (17:09 +0100)]
Remove Namespace.MAX_BUFFER_SIZE

This constant is not used anywhere, remove it.

JIRA: CONTROLLER-2072
Change-Id: If33308ba3aa7bc6eb8ee4f95702eccfc3fcb4604
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.Builder.setCompatible() 30/104730/1
Robert Varga [Thu, 2 Mar 2023 16:06:10 +0000 (17:06 +0100)]
Remove Namespace.Builder.setCompatible()

We want users to explicitly take a hold of their serialization format,
hence we do not want to create forward/backward compatible streams. They
are prohibitively costly in our use case anyway.

JIRA: CONTROLLER-2072
Change-Id: Ie533bf52f2b7123f162e9275b39952cd2193679a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Namespace.Builder.nextId() 29/104729/1
Robert Varga [Thu, 2 Mar 2023 16:00:59 +0000 (17:00 +0100)]
Remove Namespace.Builder.nextId()

The facility to assign ids is not used by us, remove it, as it seems to
be a leak from Kryo.

JIRA: CONTROLLER-2072
Change-Id: I5069e3c0dfa395a56c98498d566b615651bda820
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDitch dependency on commons-lang3 27/104727/2
Robert Varga [Thu, 2 Mar 2023 14:33:27 +0000 (15:33 +0100)]
Ditch dependency on commons-lang3

We are using only Pair, and we do not allow null values, hence we can
just switch to using Map.entry() and ditch this dependency.

JIRA: CONTROLLER-2072
Change-Id: Ida8ba2a28489cd011757e48074c58ad8cb260a34
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDo not fall back to default Kryo serializers 26/104726/2
Robert Varga [Thu, 2 Mar 2023 14:16:40 +0000 (15:16 +0100)]
Do not fall back to default Kryo serializers

Prevent the use of default serializers, so that users have to supply
them. This is the only way we want to be using this facility.

JIRA: CONTROLLER-2072
Change-Id: I69ace2f966e7f1eeeeaff5385ee3389bdaa8d25a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDo not allow recursive Namespace registration 25/104725/1
Robert Varga [Thu, 2 Mar 2023 13:51:05 +0000 (14:51 +0100)]
Do not allow recursive Namespace registration

We are not combining namespaces, there is no need for this method.

JIRA: CONTROLLER-2072
Change-Id: I332a04db841763f307add1168b999f685de7e422
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDo not export atomix.storage.journal.index 24/104724/1
Robert Varga [Thu, 2 Mar 2023 13:29:27 +0000 (14:29 +0100)]
Do not export atomix.storage.journal.index

This package is an internal implementation thing, do not expose it to
outside world.

JIRA: CONTROLLER-2071
Change-Id: Ib670b8ba330e85ed8198c58e4617cd838bcba459
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.utils.serializer.serializers 23/104723/1
Robert Varga [Thu, 2 Mar 2023 13:20:00 +0000 (14:20 +0100)]
Remove atomix.utils.serializer.serializers

This entire package is only used by Namespace, which in turn is unused.
Remove it to reduce clutter.

JIRA: CONTROLLER-2072
Change-Id: I162e4c6d783d49cb4a209706e193e6d8dc0a0638
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.utils.Serializer(Builder) 22/104722/1
Robert Varga [Thu, 2 Mar 2023 13:15:54 +0000 (14:15 +0100)]
Remove atomix.utils.Serializer(Builder)

These classes are completely unused and cause confusion with Kryo
interfaces. Remove them to improve clarity.

JIRA: CONTROLLER-2072
Change-Id: Ib4be23d08c1264a9d833d42958311bc24a2fee25
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFix a few warnings 21/104721/1
Robert Varga [Thu, 2 Mar 2023 13:07:10 +0000 (14:07 +0100)]
Fix a few warnings

Eclipse complains about unaccessed field, which we need for
serialization -- fix that by exposing the class to the entire package.

Also use local variable type inference to remove nullness warning.

Change-Id: Ib37d8e6b5d535c68eb578a67ac980e5de370c94f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoAdd correct license to atomix-storage artifact 19/104719/1
Robert Varga [Thu, 2 Mar 2023 12:15:46 +0000 (13:15 +0100)]
Add correct license to atomix-storage artifact

Override default license packaging with Apache license.

JIRA: CONTROLLER-2071
Change-Id: I41f22660985aa59e1b7050f0205111e5b06393d2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoAdd an explicit LICENSE file 18/104718/1
Robert Varga [Thu, 2 Mar 2023 12:07:36 +0000 (13:07 +0100)]
Add an explicit LICENSE file

atomix-storage is licensed under Apache License, make sure we include
that in the directory.

JIRA: CONTROLLER-2071
Change-Id: I80349d8fbefdb1c0a9ffb1c091e2367a106e5d9d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove SegmentedJournal.Builder.withCacheSize() 17/104717/1
Robert Varga [Thu, 2 Mar 2023 11:53:49 +0000 (12:53 +0100)]
Remove SegmentedJournal.Builder.withCacheSize()

This method is used only in tests and has been deprecated. Remove it.

JIRA: CONTROLLER-2071
Change-Id: I4428b24b7fd4309d8a393ef3f91975abbb48f677
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse ConcurrentHashMap.newKeySet() 16/104716/1
Robert Varga [Thu, 2 Mar 2023 11:43:34 +0000 (12:43 +0100)]
Use ConcurrentHashMap.newKeySet()

Java 8 renders the Guava utility superfluous, as we can get a concurrent
Set from ConcurrentHashMap.

JIRA: CONTROLLER-2071
Change-Id: Icde0fb358a736b50eb0c334794de09afcaf1c094
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse ConcurrentNavigableMap 15/104715/1
Robert Varga [Thu, 2 Mar 2023 11:40:36 +0000 (12:40 +0100)]
Use ConcurrentNavigableMap

Make sure we mark the map as concurrent, as that is the implementation
we use and it seems we rely on it being concurrent.

JIRA: CONTROLLER-2071
Change-Id: I1deb9e42978fbc6373085e8280822f61541f1066
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoSynchronize SegmentedJournal.open() 14/104714/1
Robert Varga [Thu, 2 Mar 2023 11:37:29 +0000 (12:37 +0100)]
Synchronize SegmentedJournal.open()

SpotBugs is pointing out a problem with synchronization to
currentSegment. This is a false positive, as we only call this method
from the constructor, but slap a synchronized keyword on it anyway.

JIRA: CONTROLLER-2071
Change-Id: Iaf3a13c4122a3321b615eb5629327494165c0bed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFix a SpotBugs warning 13/104713/1
Robert Varga [Thu, 2 Mar 2023 11:28:10 +0000 (12:28 +0100)]
Fix a SpotBugs warning

The implementation of queue in KryoIOPool is always
ConcurrentLinkedQueue, which never returns false. Fix the declaration
to make that clear to SpotBugs.

JIRA: CONTROLLER-2071
Change-Id: I0c0dee29224e128413bec9cda903610dbf137feb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoMake SegmentedJournal.Builder final 11/104711/1
Robert Varga [Thu, 2 Mar 2023 11:24:07 +0000 (12:24 +0100)]
Make SegmentedJournal.Builder final

As the SegmentedJournal is final, so should be the builder be. Also hide
its fields, which are used only internally. This allows us to fix a
static analysis warning, as cacheSize() is not used anywhere.

JIRA: CONTROLLER-2071
Change-Id: I2a4d922f3d410db7558969a69d2b64c00811c51f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoMark classes as final 08/104708/2
Robert Varga [Thu, 2 Mar 2023 11:16:13 +0000 (12:16 +0100)]
Mark classes as final

Static analysis is pointing out callouts from constructor to overridable
methods. Mark classes as final to make sure nothing untowards happens.

JIRA: CONTROLLER-2071
Change-Id: I9ed90a8919f3fd72374cb5564b8e241e954bce6e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFix placeholder mismatch 07/104707/2
Robert Varga [Thu, 2 Mar 2023 11:10:31 +0000 (12:10 +0100)]
Fix placeholder mismatch

There is a bug pointed out by static analysis, as we do not have a
placeholder the passed argument.

JIRA: CONTROLLER-2071
Change-Id: I6892ff8e3046b2476495c9fc0b351f692b396d83
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoEnable spotbugs in atomix-storage 10/104710/1
Robert Varga [Thu, 2 Mar 2023 11:19:10 +0000 (12:19 +0100)]
Enable spotbugs in atomix-storage

Enable static analysis in non-enforcing mode, so issues are pointed out
and can be fixed.

JIRA: CONTROLLER-2071
Change-Id: I891b05f830ba3a6a0e602e7a3467bdcda8f43a4d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDeprecate MemoryJournalTest 09/104709/2
Robert Varga [Thu, 2 Mar 2023 11:17:35 +0000 (12:17 +0100)]
Deprecate MemoryJournalTest

The StorageLevel this test is using is deprecated, mark the test
deprecated as well.

JIRA: CONTROLLER-2071
Change-Id: I2ce7d207a3a1981acb412858a819eb2e58fe5a2f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoDo not use static import for LoggerFactory.getLogger() 06/104706/1
Robert Varga [Thu, 2 Mar 2023 11:07:05 +0000 (12:07 +0100)]
Do not use static import for LoggerFactory.getLogger()

This is an outlier, the rest of our codebase is using a direct call,
importing LoggerFactory instead.

JIRA: CONTROLLER-2071
Change-Id: I32f7f7440c749760a803865b8f87f5d66ff1cf13
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoEnable modernizer in atomix-storage 05/104705/1
Robert Varga [Thu, 2 Mar 2023 11:05:49 +0000 (12:05 +0100)]
Enable modernizer in atomix-storage

There are only a few checkNotNull() violations, migrate them and enable
modernizer.

JIRA: CONTROLLER-2071
Change-Id: I8182ca3963e69a9029aa2ba458b76d16c4674d8a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoEliminate io.atomix.storage package 04/104704/1
Robert Varga [Thu, 2 Mar 2023 10:57:45 +0000 (11:57 +0100)]
Eliminate io.atomix.storage package

This package hosts only two classes, move them to storage.journal and
tighten Export-Package instruction.

JIRA: CONTROLLER-2071
Change-Id: Ifdd0c7a8dff5fb310d4a44d2e0c3dd71033689ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoMove Kryo shading to atomix-storage 03/104703/1
Robert Varga [Thu, 2 Mar 2023 10:39:08 +0000 (11:39 +0100)]
Move Kryo shading to atomix-storage

sal-akka-segmented-journal should not need to deal with Kryo, make sure
we contain the hacks at the source of the problem.

JIRA: CONTROLLER-2071
Change-Id: I0e82b532889babeacd47aade33268886620811d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFold atomix-utils into atomix-storage 02/104702/1
Robert Varga [Thu, 2 Mar 2023 10:20:22 +0000 (11:20 +0100)]
Fold atomix-utils into atomix-storage

There is very little value in keeping these two artifacts separate,
combine them to form a single unit.

JIRA: CONTROLLER-2071
Change-Id: I480ce9d050f32d5d843cc5ada90dcf422ee7f7ee
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoEliminate atomix.utils.memory 01/104701/1
Robert Varga [Thu, 2 Mar 2023 10:14:59 +0000 (11:14 +0100)]
Eliminate atomix.utils.memory

There is only one user of BufferCleaner, move this class an eliminate
the now empty package.

JIRA: CONTROLLER-2071
Change-Id: I4ab2e49ad2671fb2cf917223605b0c7e6309c69f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove most of atomix.utils.memory 00/104700/1
Robert Varga [Thu, 2 Mar 2023 10:07:02 +0000 (11:07 +0100)]
Remove most of atomix.utils.memory

We do not need the Memory interface, remove it.

JIRA: CONTROLLER-2071
Change-Id: I0bd43f2a01e58a23fc6c2a4d2a9b93af2ba8b41a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.storage.buffer 99/104699/1
Robert Varga [Thu, 2 Mar 2023 10:00:10 +0000 (11:00 +0100)]
Remove atomix.storage.buffer

This package is not used anywhere, remove it. This also removes the need
for atomix.utils.concurrent, which we remove as well.

JIRA: CONTROLLER-2071
Change-Id: I0664f6b12e47b04c2c0531c095b3d6e857081f61
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.storage.statistics 98/104698/1
Robert Varga [Thu, 2 Mar 2023 09:56:14 +0000 (10:56 +0100)]
Remove atomix.storage.statistics

We are not using this package anywhere, remove it.

JIRA: CONTROLLER-2071
Change-Id: I2bda6ae3cec1a1a649151b0d1280725429cb3049
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse forked atomix-{storage,utils} 97/104697/1
Robert Varga [Thu, 2 Mar 2023 09:50:33 +0000 (10:50 +0100)]
Use forked atomix-{storage,utils}

Now that we have sufficiently trimmed down imported code, switch to
using it rather than depending on external source.

JIRA: CONTROLLER-2071
Change-Id: Ic73f6cddac8c16bb5bff16626bde5021f5b7b8de
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove AtomixIOException 95/104695/1
Robert Varga [Thu, 2 Mar 2023 08:57:23 +0000 (09:57 +0100)]
Remove AtomixIOException

There is only a single user, which is using a plain RuntimeException
in other places to wrap IOException. Just remove AtomixIOException, as
it has no value.

JIRA: CONTROLLER-2071
Change-Id: Ia7b682c5875e27011b2bdcca4b9712cb9a3c5b5f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.utils.Builder 94/104694/2
Robert Varga [Thu, 2 Mar 2023 08:37:53 +0000 (09:37 +0100)]
Remove atomix.utils.Builder

There are only two classes implementing this interface and nothing else
relies on it. Remove it.

JIRA: CONTROLLER-2071
Change-Id: I7bec6addac3a9ee67fe7b7647beb0071744aec9f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.utils.misc 92/104692/1
Robert Varga [Thu, 2 Mar 2023 08:27:01 +0000 (09:27 +0100)]
Remove atomix.utils.misc

The only remnant here is ArraySizeHashPrinter, which is only used in
TestEntry.toString(). Replace its use and ditch the entire package.

JIRA: CONTROLLER-2071
Change-Id: Id4c70fe2d33bbc11c65ab7df6fa2a004affd1c63
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Indexed.cast() 91/104691/1
Robert Varga [Thu, 2 Mar 2023 08:19:16 +0000 (09:19 +0100)]
Remove Indexed.cast()

This method is not used anywhere and elicits a warnings, remove it.

JIRA: CONTROLLER-2071
Change-Id: I2b7040d3699a3e9a57b82ecdf02508c3df43c491
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFix raw type warnings 90/104690/2
Robert Varga [Thu, 2 Mar 2023 08:11:39 +0000 (09:11 +0100)]
Fix raw type warnings

We are using a number of generics, make sure to add parameters as
appropriate. Also removes unnecessary raw casts in test code.

JIRA: CONTROLLER-2071
Change-Id: I44a9c6059c0d1de34aba6f483aa871b995c076a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove superfluous @SuppressWarnings 89/104689/2
Robert Varga [Thu, 2 Mar 2023 08:04:23 +0000 (09:04 +0100)]
Remove superfluous @SuppressWarnings

There are on unchecked conversions convered by these suppressions,
remove them

JIRA: CONTROLLER-2071
Change-Id: I323edfb6657ae09308aebe452c834e2494a2f117
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove AtomixRuntimeException 88/104688/3
Robert Varga [Thu, 2 Mar 2023 08:02:02 +0000 (09:02 +0100)]
Remove AtomixRuntimeException

This class is not really useful, inline its only benefit into its sole
user, AtomixIOException.

JIRA: CONTROLLER-2071
Change-Id: Ie574efd1acedc93a6b973c37370bdb6c95bd304d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.utils.config 87/104687/3
Robert Varga [Thu, 2 Mar 2023 07:53:37 +0000 (08:53 +0100)]
Remove atomix.utils.config

This package is used only by Namespace(Type)Config, remove it along with
its sole user (which in turn is unused).

JIRA: CONTROLLER-2071
Change-Id: I0ff06853ff25bdb7c477d168fa0b75b5044c011d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove utils.config.Configured 86/104686/1
Robert Varga [Thu, 2 Mar 2023 01:15:59 +0000 (02:15 +0100)]
Remove utils.config.Configured

This interface is not implmmented, remove it.

Change-Id: I64cf1069708aa2d766b58afe64c03bfa0282e33e
JIRA: CONTROLLER-2071
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove io.atomix.utils.Named(Config) 85/104685/2
Robert Varga [Thu, 2 Mar 2023 01:12:41 +0000 (02:12 +0100)]
Remove io.atomix.utils.Named(Config)

These interfaces are not implemented anywhere, remove them.

JIRA: CONTROLLER-2071
Change-Id: I076d124b2ae7c34e43c685512ff849f07763497a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove most of io.atomix.utils.concurrent 84/104684/1
Robert Varga [Thu, 2 Mar 2023 01:00:14 +0000 (02:00 +0100)]
Remove most of io.atomix.utils.concurrent

Most of the stuff in the concurrent package is not used, remove it.

JIRA: CONTROLLER-2071
Change-Id: Ife0ea74b9327075dac9dfb605364bf2a9301362f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove most of atomix.utils.* 83/104683/1
Robert Varga [Thu, 2 Mar 2023 00:54:33 +0000 (01:54 +0100)]
Remove most of atomix.utils.*

Most of the defined interfaces are not used anywhere, remove them.

JIRA: CONTROLLER-2071
Change-Id: Iffa3fc760be89752868249f7e8eb189e231f8006
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove atomix.utils.Generics 82/104682/1
Robert Varga [Thu, 2 Mar 2023 00:51:15 +0000 (01:51 +0100)]
Remove atomix.utils.Generics

This class is not used anywhere, remove it.

JIRA: CONTROLLER-2071
Change-Id: I592727427e4604953f59fddb87f92c398c13c001
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove {Atomix,Ordered}Future 81/104681/1
Robert Varga [Thu, 2 Mar 2023 00:27:48 +0000 (01:27 +0100)]
Remove {Atomix,Ordered}Future

These classes are unused, remove them

JIRA: CONTROLLER-2071
Change-Id: I14a2b31a035739debe6168dd5b5f2d060acd61a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove most of io.atomix.utils.misc 80/104680/1
Robert Varga [Thu, 2 Mar 2023 00:25:36 +0000 (01:25 +0100)]
Remove most of io.atomix.utils.misc

There is only one class used from this package, remove all the others.

Change-Id: I0a5d751ec2ef9cdf07694a4a640fe1ca25bf1afb
JIRA: CONTROLLER-2071
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove io.atomix.utils.tim 79/104679/1
Robert Varga [Thu, 2 Mar 2023 00:23:22 +0000 (01:23 +0100)]
Remove io.atomix.utils.tim

Nothing in this package is needed here, remove it.

JIRA: CONTROLLER-2071
Change-Id: I92b26b9010bbf00fe7f2b9d3ddb9b380b06c80d9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove io.atomix.utils.logging 78/104678/1
Robert Varga [Thu, 2 Mar 2023 00:20:52 +0000 (01:20 +0100)]
Remove io.atomix.utils.logging

Nothing in this package is needed here, remove it.

JIRA: CONTROLLER-2071
Change-Id: Ie4715a34d532c905251ade6a9ca9dd01037ba1f5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove io.atomix.utils.event 77/104677/1
Robert Varga [Thu, 2 Mar 2023 00:19:32 +0000 (01:19 +0100)]
Remove io.atomix.utils.event

Nothing in this package is needed here, remove it.

JIRA: CONTROLLER-2071
Change-Id: Ib3d75d07b4e9c7b902471c31863bd6fe2b558e19
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove io.atomix.utils.net 76/104676/2
Robert Varga [Thu, 2 Mar 2023 00:18:45 +0000 (01:18 +0100)]
Remove io.atomix.utils.net

Nothing in this package is needed here, remove it.

JIRA: CONTROLLER-2071
Change-Id: I77df3011a124e0b01b7d241c127233deb7ad0595
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Abstract{Identifier,Named} 75/104675/1
Robert Varga [Thu, 2 Mar 2023 00:14:31 +0000 (01:14 +0100)]
Remove Abstract{Identifier,Named}

These classes will not be needed, remove them.

JIRA: CONTROLLER-2071
Change-Id: If96076bfe30fa4405afbde225bcf54e7400e9512
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove Accumulator and its dependencies 74/104674/2
Robert Varga [Thu, 2 Mar 2023 00:11:44 +0000 (01:11 +0100)]
Remove Accumulator and its dependencies

We are not going to use this class, remove it along with everything that
(transitively) needs it.

JIRA: CONTROLLER-2071
Change-Id: I07e0b8143d54068e9ac6d1e8060279086ff79e22
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoPlug atomix into the build 73/104673/1
Robert Varga [Wed, 1 Mar 2023 23:45:21 +0000 (00:45 +0100)]
Plug atomix into the build

This adds the basics to plug in atomis into the build using the bare
minimum of modifications.

JIRA: CONTROLLER-2071
Change-Id: I92fe884f1ac44973c7ac0a9930be88f08b8d6643
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoImport atomix/{storage,utils} 70/104670/1
Robert Varga [Wed, 1 Mar 2023 22:47:19 +0000 (23:47 +0100)]
Import atomix/{storage,utils}

This is an import of our upstream dependency, atomix-storage, along with
its dependency, atomix-utils.

The atomix.io team has decided to abandon their Java code and archived
it under https://github.com/atomix/atomix-archive.

As per https://github.com/atomix/atomix-archive/blob/master/LICENSE,
this code is licensed under Apache License 2.0, which is compatible with
Eclipse Public License 1.0, which we are using.

This code drop imports the source code for the two artifacts we use, as
of their latest available state as available at
https://github.com/atomix/atomix-archive/tree/5c57662f8be16d3448c4c9cac2e2bec9317c4300
in verbatim, without any changes or actual build integration.

JIRA: CONTROLLER-2069
Change-Id: I873779dba9eac350e92e1c4dae69a79da43d3068
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoRemove commons-lang dependencies 70/104570/1
Robert Varga [Thu, 23 Feb 2023 18:39:44 +0000 (19:39 +0100)]
Remove commons-lang dependencies

Use commons-lang3 instead, as it provides better interface anyway.

Change-Id: I8574166cf77f8f40c9a2ada4b06cc0d8b14244a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump versions to 7.0.5-SNAPSHOT 69/104569/1
Robert Varga [Thu, 23 Feb 2023 18:31:06 +0000 (19:31 +0100)]
Bump versions to 7.0.5-SNAPSHOT

This starts the next development iteration.

Change-Id: I1b490c02d7201f4de9a090a5cbb48748f7452499
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoClean up blueprint dependencies 68/104568/1
Robert Varga [Thu, 23 Feb 2023 18:28:45 +0000 (19:28 +0100)]
Clean up blueprint dependencies

Fixup dependency declarations to eliminate most of warnings.

Change-Id: Id3d865787c13aa0cac4d5a282813820824072688
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoFixup sal-cluster-admin-impl dependencies 67/104567/1
Robert Varga [Thu, 23 Feb 2023 18:20:37 +0000 (19:20 +0100)]
Fixup sal-cluster-admin-impl dependencies

The dependencies here are rather baroque, clean them up to the point
of confusigng maven-dependency-plugin.

Change-Id: Ifbc3e605217b0ece2ea7691d96eea28ec7bef3fe
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoFix eos-dom-akka dependencies 66/104566/1
Robert Varga [Thu, 23 Feb 2023 17:47:18 +0000 (18:47 +0100)]
Fix eos-dom-akka dependencies

We are misplacing a number of dependencies, declare them at proper
scope.

Change-Id: I58b5fdd2fbfe0a1fb743c134aaf111c937078bbb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoFix sal-cluster-admin-api dependencies 65/104565/1
Robert Varga [Thu, 23 Feb 2023 17:44:41 +0000 (18:44 +0100)]
Fix sal-cluster-admin-api dependencies

We have two dependencies which we do not declare, fix that.

Change-Id: I5e7428f77a1da526c8fe813f320c66082a98c7f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoRun test with MockitoJUnitRunner 64/104564/1
Robert Varga [Thu, 23 Feb 2023 17:42:01 +0000 (18:42 +0100)]
Run test with MockitoJUnitRunner

Fix an unsafe warning, which unfortunately requires resetting the mock.

Change-Id: I9e9ce4bec7d8730fa844f23808de6dc2a722b514
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoFix sal-akka-segmented-journal dependencies 63/104563/1
Robert Varga [Thu, 23 Feb 2023 17:37:13 +0000 (18:37 +0100)]
Fix sal-akka-segmented-journal dependencies

We have two dependencies which we do not declare, fix that up.

Change-Id: Ic34b42065df880857c21c56e8cd0b2a5f421b814
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoClean up sal-akka-raft dependencies 62/104562/1
Robert Varga [Thu, 23 Feb 2023 17:32:42 +0000 (18:32 +0100)]
Clean up sal-akka-raft dependencies

We have a number of underclared dependencies, fix that up.

Change-Id: Idaa44f5b3d0f2f84c71b4cdf2e0c0c6c29e66b56
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoDiagnose mockito downgrade better 61/104561/1
Robert Varga [Thu, 23 Feb 2023 16:33:16 +0000 (17:33 +0100)]
Diagnose mockito downgrade better

Mockito is doing a very weird thing to get the inline MockMaker work,
which is known to not work with OSGi. Clean up the way we are
approaching byte-buddy and provide a pointer to the issue.

Change-Id: I87420710c5b6859e984fb72204826b91c7e4863a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoClean up cds-access-client dependencies 60/104560/2
Robert Varga [Thu, 23 Feb 2023 15:22:04 +0000 (16:22 +0100)]
Clean up cds-access-client dependencies

Update dependencies to match what we are actually using.

Change-Id: I8c6e17cfe853e6e7105fdc497315aaf008cf4c7e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoReduce mockito workaround 59/104559/1
Robert Varga [Thu, 23 Feb 2023 15:14:33 +0000 (16:14 +0100)]
Reduce mockito workaround

Use mockito-inline and upgraded mockito.

Change-Id: Ibc3ff9afbef0d586ed186c08de5364420c795fce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump upstreams 53/104553/3
Robert Varga [Thu, 23 Feb 2023 10:54:54 +0000 (11:54 +0100)]
Bump upstreams

Adopt:
- odlparent-12.0.3
- yangtools-10.0.4
- mdsal-11.0.7

Change-Id: I0324391b51565686299f1f5e930847390cd3aca8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump versions to 7.0.4-SNAPSHOT 62/104262/1
Robert Varga [Sun, 5 Feb 2023 22:59:19 +0000 (23:59 +0100)]
Bump versions to 7.0.4-SNAPSHOT

This starts the next development iteration.

Change-Id: I6258d8a8722f8276e30c90d0226d431cee6cfb21
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump mdsal to 11.0.6 55/104255/1
Robert Varga [Sun, 5 Feb 2023 11:11:56 +0000 (12:11 +0100)]
Bump mdsal to 11.0.6

Pick up latest updates.

Change-Id: I568d004c7a310176f280f9dc32539645b25f4741
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoMigrate toaster-consumer to OSGi DS 46/103146/13
Robert Varga [Tue, 8 Nov 2022 12:57:28 +0000 (13:57 +0100)]
Migrate toaster-consumer to OSGi DS

Use declarative services instead of blueprint and do not pull in the
blueprint extension.

JIRA: CONTROLLER-2003
Change-Id: I1c7987086c0469001a7e1ee5cd5e8f921b57f7a7
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoMigrate toaster-producer to OSGi DS 20/103920/8
Samuel Schneider [Wed, 4 Jan 2023 16:20:46 +0000 (17:20 +0100)]
Migrate toaster-producer to OSGi DS

Use declarative services instead of blueprint, removing unnecessary
models in the process. ToasterTest is updated to wait for
ToasterService, as we are touching its MXBean.

Change-Id: I6b947ccb0024da934457e4c52d0665f3fc9a5bb6
Signed-off-by: Oleksandr Panasiuk <oleksandr.panasiuk@pantheon.tech>
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump upstreams 14/104214/3
Robert Varga [Wed, 1 Feb 2023 15:46:37 +0000 (16:46 +0100)]
Bump upstreams

Adopt:
- odlparent-12.0.2
- yangtools-10.0.3
- mdsal-11.0.5

Change-Id: I2fa6e32b7275bb50118289af2d096b98cce95680
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoBump versions to 7.0.3-SNAPSHOT 97/104097/1
Robert Varga [Mon, 23 Jan 2023 10:09:52 +0000 (11:09 +0100)]
Bump versions to 7.0.3-SNAPSHOT

This starts the next development iteration.

Change-Id: I3449be174e52ea7b964a321545254165f326d575
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoBump mdsal to 11.0.4 96/104096/1
Robert Varga [Mon, 23 Jan 2023 10:09:09 +0000 (11:09 +0100)]
Bump mdsal to 11.0.4

Pick up codegen fix for bits.

Change-Id: I341ab659a3f1874d902e55cf656702d3d8eae18c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoBump versions to 7.0.2-SNAPSHOT 99/103699/1
Robert Varga [Sun, 18 Dec 2022 12:26:48 +0000 (13:26 +0100)]
Bump versions to 7.0.2-SNAPSHOT

This starts the next development iteration.

Change-Id: I2fdeca1eaac7770d1e147c37edac62500434559c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoBump mdsal to 11.0.3 98/103698/1
Robert Varga [Sun, 18 Dec 2022 12:24:38 +0000 (13:24 +0100)]
Bump mdsal to 11.0.3

Adopt fixes from upstream.

Change-Id: I5d37f13c2c9c09895b5c34f58d98985635c2bbab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoModernize cds-access-client 80/103580/4
Robert Varga [Sun, 4 Dec 2022 20:46:03 +0000 (21:46 +0100)]
Modernize cds-access-client

Use instanceof patterns to reduce the number of casts.

Change-Id: If0f3d0d47e9a68b24372b79e93aa478ec32cf9b0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoModernize sal-remoterpc-connector 81/103581/4
Robert Varga [Sun, 4 Dec 2022 20:55:04 +0000 (21:55 +0100)]
Modernize sal-remoterpc-connector

Use instanceof patterns to reduce casts.

Change-Id: Iafcb05461e2c241310857ee2bf93591bed66a7d4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoModernize sal-clustering-commons 79/103579/2
Robert Varga [Sun, 4 Dec 2022 20:39:46 +0000 (21:39 +0100)]
Modernize sal-clustering-commons

Use instanceof patterns to reduce the number of casts.

Change-Id: I40eb35b3b1afdae30d461a608aeabda2d7e09ce8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoBump versions to 7.0.1-SNAPSHOT 78/103578/1
Robert Varga [Sun, 4 Dec 2022 20:26:24 +0000 (21:26 +0100)]
Bump versions to 7.0.1-SNAPSHOT

This starts the next development iteration.

Change-Id: Ia719b57550d7d8f3e26a20b5bfbc4c1935dd8a25
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoRemove blueprint from clustering-test-app 47/103147/13
matus.matok [Mon, 28 Nov 2022 07:28:35 +0000 (08:28 +0100)]
Remove blueprint from clustering-test-app

Replace bluprint wiring with explicit MD-SAL registration and OSGi
Declarative Services.

JIRA: CONTROLLER-2002
Change-Id: Ibbc7129062224b666d04ec76a04b2779f2662a6e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: matusmatok <matus.matok@pantheon.tech>
16 months agoBump upstreams 72/103572/1
Robert Varga [Sun, 4 Dec 2022 17:44:19 +0000 (18:44 +0100)]
Bump upstreams

Adopt:
- yangtools-10.0.2
- mdsal-11.0.2

Change-Id: I7e3214e2a4ef430eb1c111d4a8c77c042d66419c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoObsolete ask-based protocol 03/103103/11
Robert Varga [Sat, 5 Nov 2022 02:11:54 +0000 (03:11 +0100)]
Obsolete ask-based protocol

Mark the switch to use ask-based protocol obsolete and deprecate all
classes implementing it.

JIRA: CONTROLLER-2053
Change-Id: Ib0f5d6a946090addde255423d51746a52e785b2a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoFix more Sonar warnings 44/103544/3
Robert Varga [Sat, 3 Dec 2022 12:24:16 +0000 (13:24 +0100)]
Fix more Sonar warnings

Ignored exceptions, mergeable if statements and similar.

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