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>
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>
Update sal-distributed-datastore tests a bit Use MockitoJUnitRunner and clean up imports/mocking a bit. Change-Id: I854f95e37e503d28903c8aa83aecafdef4c4c1fa 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>
Rename ActorContext to ActorUtils ActorContext is overloaded name even within Akka, without us adding to it. Furthermore Akka's AbstractActor defines ActorContext as its nested class, which thoroughly breaks resolution priorities. Rename ActorContext to ActorUtils, reducing confusion around class uses. Change-Id: I140239a8f74ee7deecf9ee848df0cfbbb72f3c4d Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Improve error reporting for tell-based reads Added contextual info similar to ask-based, including the yang path of the requested read and the backend shard name. Also wrapped RequestTimeoutException with DataStoreUnavailableException. Change-Id: I5487e5531034cc1abbda27a4953897da7212eba8 Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
tell-based - reconnect on leader change The ShardManager is the aggregation point for shards so we need to propagate shard leader change events etc to the ClientActorBehavior to initiate a refresh of the backend info. The ModuleShardBackendResolver sends a new message, RegisterForShardAvailabilityChanges, to the ShardManager actor with a Consumer callback that is notified by the ShardManager when events affecting shard leader availability occur. The ModuleShardBackendResolver then propagates the event notification to callbacks registered via a new notifyWhenBackendInfoIsStale method exposed via the BackendInfoResolver interface, which the ClientActorBehavior calls. JIRA: CONTROLLER-1873 Change-Id: I9dbcabf5a75b195c811a22dd522115d329e5dc4b Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Remove unused exceptions This drops exception declarations which are never used. Change-Id: Icc8938b9c3b437a0d5961ec1b481fd06c52d47f2 Signed-off-by: Stephen Kitt <skitt@redhat.com>
Migrate from JavaTestKit to javadsl.TestKit Remove use of deprecated class and use its 2.5.0 replacement. This leaves a single instance of this class are RaftActorTestKit and ShartTestKit which will need to be migrated in a follow-up patch. Change-Id: I5c112f9984bec3ecf2da530f3505aceb83fa1e05 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
BUG-5280: unwrap RuntimeRequestExceptions This patch adds the primitive to unwrap RuntimeRequestExceptions, so the underlying cause is propagated. Change-Id: I77771867a48eb5f63d35a6402aca6ad0bc5b12e3 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
BUG-5280: Correct reconnect retry logic Our reconnect logic failed to account for various timers during resolution. This patch makes the BackendInfoResolver explicit about the type of failures it can report and fixes AbstractShardBackendResolver to conform to them. Change-Id: I610ddb6e062e223557d46e2950a552de6e7d3843 Signed-off-by: Robert Varga <robert.varga@pantheon.tech> (cherry picked from commit 63bca3841f0187b5127f62fd04e4edcdce3a63c1)
JUnit test for ModuleShardBackendResolver Change-Id: I1fd7b77873d56f02eb024e27f2bcd4e42ff7c10d Signed-off-by: matus.kubica <matus.kubica@pantheon.tech> Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>