Deprecate ask-based protocol messages Since we have removed the ask-based client, we really have no way of testing ask-based messages' interaction with Shard. We keep Shard compatible, but deprecate all ask-based messages and methods/classes dealing with them on the backend. JIRA: CONTROLLER-2054 Change-Id: I5764713b686ae11f8d750e691576b6d20637ab7d Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Do not use optional in ShardLeaderStateChanged Use a simple nullable, as all users know what's going on. Change-Id: I931e71763d137c5a50432604214a75e0bfdcdd37 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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>
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>
Do not reference immutable node builders Use Builders/ImmutableNodes instead of direct implementation reference. Also use fluent nature of builders, which flushes out a number of unused constructs, which we remove here. Change-Id: I8803da6a244f4f4dceaf4da06934b0f8df24b827 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Move {Identifiable,Persistent,}Payload Payloads are really part of raft message specification, not some vague sal-clustering-commons detail. They have a strong relationship with AppendEntries and therefore really need to be co-located. As a first step in dealing with AppendEntries sizing, move Payloads so we can properly evolve them. JIRA: CONTROLLER-2037 Change-Id: I069f311b1c1b211b8429a721e6b239e5e08ed813 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Bump upstream SNAPSHOTS Adopt: - odlparent-10.0.0 - yangtools-8.0.0-SNAPSHOT - mdsal-9.0.0-SNAPSHOT Change-Id: I60991718a6d1ef6f108c2b1f7b2c09b0c5f973c4 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Cleanup asserts a bit Rather than using String operations, use assertThat() and matchers. Change-Id: I0e76854950965fbfef739c38b061ccda1a9f1e37 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
akka.actor.provider set to 'cluster' A number of sal-akka-raft test logs are polluted by ConfigurationException. ActorSystem needs to have 'akka.actor.provider' set to 'cluster' in the configuration. JIRA: CONTROLLER-2023 Change-Id: If6e873864ffe0ea8261c80c233b6d40459d05164 Signed-off-by: Dominik Vrbovsky <dominik.vrbovsky@pantheon.tech>
Lock down controller.cluster.datastore.Shard Since sal-distributed-eos is gone, we do not have any known subclasses, lock down Shard implementation as much as possible. This will aid us in refactoring later. The entire class is now considered an implementation detail, amenable to changes driven by RaftActor evolution. Change-Id: Ic54794b33766459f16a5ebdac6a3faa731c2b49d Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Snapshot and journal export on recovery Added ability to export snapshot and journal content into json file during recovery. JIRA: CONTROLLER-1955 Change-Id: Ic2d6181ab56d7b413f06ed91cf5f9d37e3aa2029 Signed-off-by: tadei.bilan <tadei.bilan@pantheon.tech> Signed-off-by: Oleksii Mozghovyi <oleksii.mozghovyi@pantheon.tech> Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Bump odlparent/yangtools/mdsal Adopt latest versions, namely; - odlparent-9.0.1 - yangtools-7.0.1 - mdsal-8.0.0-SNAPSHOT There are a few adjustments needed, which mostly deal with the interface to NormalizedNode. Change-Id: I918fb885a6df62e16e17119a7e04ba1672ef7c39 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Move MXBean definitions to cds-mgmt-api Downstreams are very interested in the details of CDS operation and end up going through all kinds of hoops to get at the information exposed in our MXBeans. They mostly do that without touching the definition itself, so let's make it easier and publish the definitions in an API artifact. We also end up evacuating implementations to the packages that expose them, hiding them from plain sight. Since we want them to really be final, also adjust tests which are mocking them for no good reason. JIRA: CONTROLLER-1965 Change-Id: I9bb1eb792c7ce4b7197b4da715c2c5223b41ff73 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Migrate Props.create() call sites Props.create() now takes a class identifying the class being instantiated. Fix callsites to do that. Change-Id: I4a0169663465b0c1ba62fc87ca13423cf5a4464f Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Migrate from YangInstanceIdentifier.EMPTY This migrates to the replacement empty() method. Change-Id: I32ca026a33835edb16f8e1e6142e9192c880076b Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Do not enque purges for ask based protocol With metadata disabled for ask based protocol, there is no need to purge transaction on the backend and pollute the journal. Tell based protocol has purges handled by the fronted so it should be safe for us to remove them on the backend for ask protocol. JIRA: CONTROLLER-1879 Change-Id: Ia5c9470782bb4d59b78bbaa605ee5d36c7fb1644 Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Remove PersistAbortTransactionPayload With the metadata tracking disabled for ask based protocol there is no need to track aborts for read only transactions on the backend. JIRA: CONTROLLER-1879 Change-Id: I189ae3231bb2f3c0eaa0bbe21a14342446708c5f Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Implement DOMDataTreeChangeListener.onInitialData When there's no initial data on DTCL registration, we need to invoke onInitialData(). JIRA: CONTROLLER-1878 Change-Id: Ib6e8a822b0a6cdfa54f523cacce9ceb699463585 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Eliminate use of deprecated mockito methods This is a combination of automated eclipse migration and manual switch from anyObject() to any(). Change-Id: I6b8d64eeff3a10d83b5027407a63ed5968094731 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Migrate to java.time.Duration Akka 2.5.12 deprecated quite a few methods using Scala duration to use java.time.Duration. Migrate ourselves. Change-Id: Ieb92c219f529c5d2c606016d3ea717d4531dda1b Signed-off-by: Robert Varga <robert.varga@pantheon.tech>