diff --git a/akka/pom.xml b/akka/pom.xml
index 45cb5873eff..d184f4d429d 100644
--- a/akka/pom.xml
+++ b/akka/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
akka-aggregator
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/akka/repackaged-akka-jar/pom.xml b/akka/repackaged-akka-jar/pom.xml
index 2e5b7167127..0285ea8309e 100644
--- a/akka/repackaged-akka-jar/pom.xml
+++ b/akka/repackaged-akka-jar/pom.xml
@@ -13,14 +13,14 @@
org.opendaylight.odlparent
odlparent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
repackaged-akka-jar
jar
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
${project.artifactId}
diff --git a/akka/repackaged-akka/pom.xml b/akka/repackaged-akka/pom.xml
index 9527b2f48c2..dfd607dfd7c 100644
--- a/akka/repackaged-akka/pom.xml
+++ b/akka/repackaged-akka/pom.xml
@@ -13,7 +13,7 @@
org.opendaylight.controller
bundle-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../bundle-parent
diff --git a/artifacts/pom.xml b/artifacts/pom.xml
index 2d10494194c..6d2c41da8db 100644
--- a/artifacts/pom.xml
+++ b/artifacts/pom.xml
@@ -14,13 +14,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
controller-artifacts
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/atomix-storage/pom.xml b/atomix-storage/pom.xml
index c71e3dc5a75..ee279e99708 100644
--- a/atomix-storage/pom.xml
+++ b/atomix-storage/pom.xml
@@ -20,7 +20,7 @@
org.opendaylight.controller
bundle-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../bundle-parent
diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java
index b842d95e249..49b6ea82c2e 100644
--- a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java
+++ b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java
@@ -51,14 +51,16 @@ sealed interface State {
* Journal segment is active, i.e. there is a associated with it.
*/
@NonNullByDefault
- record Active(FileAccess access, JournalSegmentWriter writer) implements State {
+ private record Active(FileAccess access, FileWriter fileWriter, JournalSegmentWriter writer) implements State {
Active {
requireNonNull(access);
+ requireNonNull(fileWriter);
requireNonNull(writer);
}
Inactive deactivate() {
final var inactive = new Inactive(writer.currentPosition());
+ fileWriter.release();
access.close();
return inactive;
}
@@ -68,11 +70,12 @@ Inactive deactivate() {
* Journal segment is inactive, i.e. there is no writer associated with it.
*/
@NonNullByDefault
- record Inactive(int position) implements State {
+ private record Inactive(int position) implements State {
Active activate(final JournalSegment segment) throws IOException {
final var access = segment.file.newAccess(segment.storageLevel, segment.maxEntrySize);
- return new Active(access, new JournalSegmentWriter(access.newFileWriter(), segment, segment.journalIndex,
- this));
+ final var fileWriter = access.newFileWriter();
+ return new Active(access, fileWriter,
+ new JournalSegmentWriter(fileWriter, segment, segment.journalIndex, position));
}
}
@@ -101,7 +104,11 @@ Active activate(final JournalSegment segment) throws IOException {
try (var tmpAccess = file.newAccess(storageLevel, maxEntrySize)) {
final var fileReader = tmpAccess.newFileReader();
- state = new Inactive(indexEntries(fileReader, this, maxEntrySize, journalIndex, Long.MAX_VALUE, null));
+ try {
+ state = new Inactive(indexEntries(fileReader, this, maxEntrySize, journalIndex, Long.MAX_VALUE, null));
+ } finally {
+ fileReader.release();
+ }
} catch (IOException e) {
throw new StorageException(e);
}
diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java
index 12b5eb7ce6f..db87c1565aa 100644
--- a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java
+++ b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java
@@ -18,7 +18,6 @@
import static io.atomix.storage.journal.SegmentEntry.HEADER_BYTES;
import static java.util.Objects.requireNonNull;
-import io.atomix.storage.journal.JournalSegment.Inactive;
import io.atomix.storage.journal.StorageException.TooLarge;
import io.atomix.storage.journal.index.JournalIndex;
import java.io.EOFException;
@@ -46,14 +45,6 @@ final class JournalSegmentWriter {
this.currentPosition = currentPosition;
}
- JournalSegmentWriter(final FileWriter fileWriter, final JournalSegment segment, final JournalIndex journalIndex,
- final Inactive segmentState) {
- this.fileWriter = requireNonNull(fileWriter);
- this.segment = requireNonNull(segment);
- this.journalIndex = requireNonNull(journalIndex);
- currentPosition = segmentState.position();
- }
-
int currentPosition() {
return currentPosition;
}
diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufJournal.java b/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufJournal.java
index ad4b1801e10..2ad26ab312d 100644
--- a/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufJournal.java
+++ b/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufJournal.java
@@ -51,7 +51,7 @@ public final class SegmentedByteBufJournal implements RaftJournal {
private final @NonNull StorageLevel storageLevel;
private final @NonNull File directory;
private final @NonNull String name;
- private final @NonNull EntryWriter writer;
+ private final @NonNull SegmentedByteBufWriter writer;
private final int maxSegmentSize;
private final int maxEntrySize;
@Deprecated(forRemoval = true)
@@ -422,6 +422,7 @@ public void compact(final long index) {
public void close() {
if (currentSegment != null) {
currentSegment = null;
+ writer.close();
segments.values().forEach(JournalSegment::close);
segments.clear();
}
diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufWriter.java
index 464a75e4b77..f6bb1cc48f6 100644
--- a/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufWriter.java
+++ b/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedByteBufWriter.java
@@ -106,4 +106,9 @@ public void reset(final long index) {
public void flush() {
currentWriter.flush();
}
+
+ void close() {
+ currentSegment.releaseWriter();
+ currentSegment = null;
+ }
}
diff --git a/benchmark/api/pom.xml b/benchmark/api/pom.xml
index fd24099dab1..79087dfd901 100644
--- a/benchmark/api/pom.xml
+++ b/benchmark/api/pom.xml
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../opendaylight/md-sal/parent
diff --git a/benchmark/dsbenchmark/pom.xml b/benchmark/dsbenchmark/pom.xml
index e1cd7b67915..f8cfbb1acdf 100644
--- a/benchmark/dsbenchmark/pom.xml
+++ b/benchmark/dsbenchmark/pom.xml
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../opendaylight/md-sal/parent
diff --git a/benchmark/ntfbenchmark/pom.xml b/benchmark/ntfbenchmark/pom.xml
index afc5b4a9fec..d9e01382fb2 100644
--- a/benchmark/ntfbenchmark/pom.xml
+++ b/benchmark/ntfbenchmark/pom.xml
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../opendaylight/md-sal/parent
diff --git a/benchmark/pom.xml b/benchmark/pom.xml
index 6ca5e4780d8..5803de92ccb 100644
--- a/benchmark/pom.xml
+++ b/benchmark/pom.xml
@@ -10,13 +10,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
benchmark-aggregator
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/benchmark/rpcbenchmark/pom.xml b/benchmark/rpcbenchmark/pom.xml
index a577584c5e8..5dba4919681 100644
--- a/benchmark/rpcbenchmark/pom.xml
+++ b/benchmark/rpcbenchmark/pom.xml
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../opendaylight/md-sal/parent
diff --git a/benchmark/segjournal-benchmark/pom.xml b/benchmark/segjournal-benchmark/pom.xml
index 4f240c8f819..f76ed131c02 100644
--- a/benchmark/segjournal-benchmark/pom.xml
+++ b/benchmark/segjournal-benchmark/pom.xml
@@ -13,7 +13,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../opendaylight/md-sal/parent
diff --git a/bundle-parent/pom.xml b/bundle-parent/pom.xml
index 790d6c895cd..b4fe2be20a4 100644
--- a/bundle-parent/pom.xml
+++ b/bundle-parent/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.mdsal
bundle-parent
- 13.0.4
+ 13.0.7
org.opendaylight.controller
bundle-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
@@ -25,7 +25,7 @@
org.opendaylight.controller
controller-artifacts
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
import
diff --git a/docs/pom.xml b/docs/pom.xml
index 15edf9e1aee..e86ef9c5b61 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -12,14 +12,14 @@
org.opendaylight.odlparent
odlparent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
controller-docs
jar
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
${project.artifactId}
Controller documentation
@@ -211,9 +211,9 @@
https://netty.io/4.1/api/
https://commons.apache.org/proper/commons-lang/javadocs/api-release/
- https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.1.3/
- https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/13.0.6/
- https://www.javadoc.io/doc/org.opendaylight.mdsal/mdsal-docs/13.0.4/
+ https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.1.5/
+ https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/13.0.8/
+ https://www.javadoc.io/doc/org.opendaylight.mdsal/mdsal-docs/13.0.7/
diff --git a/features/features-controller-experimental/pom.xml b/features/features-controller-experimental/pom.xml
index 4a475cb2b79..167521097cf 100644
--- a/features/features-controller-experimental/pom.xml
+++ b/features/features-controller-experimental/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
feature-repo-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
features-controller-experimental
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
feature
OpenDaylight :: Controller :: Experimental Features
Controller Experimental Features
diff --git a/features/features-controller-testing/pom.xml b/features/features-controller-testing/pom.xml
index 351268a9707..f658ae6e5b8 100644
--- a/features/features-controller-testing/pom.xml
+++ b/features/features-controller-testing/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
feature-repo-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
features-controller-testing
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
feature
OpenDaylight :: Controller :: Features to support CSIT testing
Controller CSIT Features
diff --git a/features/features-controller/pom.xml b/features/features-controller/pom.xml
index 2e03c432649..8cd4912d3c9 100644
--- a/features/features-controller/pom.xml
+++ b/features/features-controller/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
feature-repo-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
features-controller
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
feature
OpenDaylight :: Controller :: Features
Controller Production Features
diff --git a/features/odl-clustering-test-app/pom.xml b/features/odl-clustering-test-app/pom.xml
index 373f600b4e0..adab772d276 100644
--- a/features/odl-clustering-test-app/pom.xml
+++ b/features/odl-clustering-test-app/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-controller-akka/pom.xml b/features/odl-controller-akka/pom.xml
index cf9dd242a86..98564260a18 100644
--- a/features/odl-controller-akka/pom.xml
+++ b/features/odl-controller-akka/pom.xml
@@ -14,7 +14,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-controller-blueprint/pom.xml b/features/odl-controller-blueprint/pom.xml
index 65771862e10..349df2a33b9 100644
--- a/features/odl-controller-blueprint/pom.xml
+++ b/features/odl-controller-blueprint/pom.xml
@@ -12,7 +12,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-controller-broker-local/pom.xml b/features/odl-controller-broker-local/pom.xml
index 0dc99c0f37b..b9c6f86de74 100644
--- a/features/odl-controller-broker-local/pom.xml
+++ b/features/odl-controller-broker-local/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-controller-mdsal-common/pom.xml b/features/odl-controller-mdsal-common/pom.xml
index def5dd1c5c9..fbfbbcad228 100644
--- a/features/odl-controller-mdsal-common/pom.xml
+++ b/features/odl-controller-mdsal-common/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-controller-scala/pom.xml b/features/odl-controller-scala/pom.xml
index 1449b3f4cbf..dd212c8b80e 100644
--- a/features/odl-controller-scala/pom.xml
+++ b/features/odl-controller-scala/pom.xml
@@ -14,7 +14,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-jolokia/pom.xml b/features/odl-jolokia/pom.xml
index c0e9b334638..357f39ca005 100644
--- a/features/odl-jolokia/pom.xml
+++ b/features/odl-jolokia/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-mdsal-benchmark/pom.xml b/features/odl-mdsal-benchmark/pom.xml
index 0aecbd7d64b..20af8c6ff72 100644
--- a/features/odl-mdsal-benchmark/pom.xml
+++ b/features/odl-mdsal-benchmark/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-mdsal-broker/pom.xml b/features/odl-mdsal-broker/pom.xml
index 95653d90487..8a86d10390e 100644
--- a/features/odl-mdsal-broker/pom.xml
+++ b/features/odl-mdsal-broker/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-mdsal-clustering-commons/pom.xml b/features/odl-mdsal-clustering-commons/pom.xml
index bf63eef2f28..24ea95a9bbc 100644
--- a/features/odl-mdsal-clustering-commons/pom.xml
+++ b/features/odl-mdsal-clustering-commons/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-mdsal-distributed-datastore/pom.xml b/features/odl-mdsal-distributed-datastore/pom.xml
index ad001315d65..2bb7d56c915 100644
--- a/features/odl-mdsal-distributed-datastore/pom.xml
+++ b/features/odl-mdsal-distributed-datastore/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-mdsal-remoterpc-connector/pom.xml b/features/odl-mdsal-remoterpc-connector/pom.xml
index 297f6ebc1d4..bfaf23ab5c0 100644
--- a/features/odl-mdsal-remoterpc-connector/pom.xml
+++ b/features/odl-mdsal-remoterpc-connector/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/odl-toaster/pom.xml b/features/odl-toaster/pom.xml
index 7e72b6f00ed..43a96dccfff 100644
--- a/features/odl-toaster/pom.xml
+++ b/features/odl-toaster/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../single-feature-parent
diff --git a/features/pom.xml b/features/pom.xml
index 3b34bd2abb2..7431d4e8bab 100644
--- a/features/pom.xml
+++ b/features/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
features-aggregator
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/features/single-feature-parent/pom.xml b/features/single-feature-parent/pom.xml
index a3683384efd..11f13491fef 100644
--- a/features/single-feature-parent/pom.xml
+++ b/features/single-feature-parent/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
single-feature-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
single-feature-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
@@ -25,7 +25,7 @@
org.opendaylight.controller
bundle-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
import
diff --git a/jolokia/pom.xml b/jolokia/pom.xml
index b23bce3dc31..bfc12669b21 100644
--- a/jolokia/pom.xml
+++ b/jolokia/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
odlparent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
odl-jolokia-osgi
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
jar
diff --git a/karaf/pom.xml b/karaf/pom.xml
index 23fd3f878cd..78756d2ace2 100644
--- a/karaf/pom.xml
+++ b/karaf/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
karaf4-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
controller-test-karaf
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/opendaylight/blueprint/pom.xml b/opendaylight/blueprint/pom.xml
index dde3b2f54da..4c4eac74155 100644
--- a/opendaylight/blueprint/pom.xml
+++ b/opendaylight/blueprint/pom.xml
@@ -12,7 +12,7 @@
org.opendaylight.odlparent
bundle-parent
- 13.1.3
+ 13.1.5
@@ -20,21 +20,21 @@
blueprint
bundle
${project.artifactId}
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
org.opendaylight.yangtools
yangtools-artifacts
- 13.0.6
+ 13.0.8
pom
import
org.opendaylight.mdsal
mdsal-artifacts
- 13.0.4
+ 13.0.7
pom
import
diff --git a/opendaylight/md-sal/cds-access-api/pom.xml b/opendaylight/md-sal/cds-access-api/pom.xml
index 164fed73be7..a9b98661533 100644
--- a/opendaylight/md-sal/cds-access-api/pom.xml
+++ b/opendaylight/md-sal/cds-access-api/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/cds-access-client/pom.xml b/opendaylight/md-sal/cds-access-client/pom.xml
index 06cef0f9ce5..c2c5368d633 100644
--- a/opendaylight/md-sal/cds-access-client/pom.xml
+++ b/opendaylight/md-sal/cds-access-client/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientActor.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientActor.java
index bed5ffc35c3..e39e8875898 100644
--- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientActor.java
+++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/AbstractClientActor.java
@@ -10,6 +10,7 @@
import akka.actor.ActorRef;
import akka.actor.PoisonPill;
import akka.persistence.AbstractPersistentActor;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -20,15 +21,18 @@
public abstract class AbstractClientActor extends AbstractPersistentActor {
private static final Logger LOG = LoggerFactory.getLogger(AbstractClientActor.class);
+ private final @NonNull String persistenceId;
+
private AbstractClientActorBehavior> currentBehavior;
protected AbstractClientActor(final FrontendIdentifier frontendId) {
- currentBehavior = new RecoveringClientActorBehavior(this, frontendId);
+ persistenceId = frontendId.toPersistentId();
+ currentBehavior = new RecoveringClientActorBehavior(this, persistenceId, frontendId);
}
@Override
public final String persistenceId() {
- return currentBehavior.persistenceId();
+ return persistenceId;
}
@Override
@@ -43,10 +47,10 @@ public void postStop() throws Exception {
private void switchBehavior(final AbstractClientActorBehavior> nextBehavior) {
if (!currentBehavior.equals(nextBehavior)) {
if (nextBehavior == null) {
- LOG.debug("{}: shutting down", persistenceId());
+ LOG.debug("{}: shutting down", persistenceId);
self().tell(PoisonPill.getInstance(), ActorRef.noSender());
} else {
- LOG.debug("{}: switched from {} to {}", persistenceId(), currentBehavior, nextBehavior);
+ LOG.debug("{}: switched from {} to {}", persistenceId, currentBehavior, nextBehavior);
}
currentBehavior.close();
@@ -66,14 +70,14 @@ public Receive createReceiveRecover() {
private void onReceiveCommand(final Object command) {
if (command == null) {
- LOG.debug("{}: ignoring null command", persistenceId());
+ LOG.debug("{}: ignoring null command", persistenceId);
return;
}
if (currentBehavior != null) {
switchBehavior(currentBehavior.onReceiveCommand(command));
} else {
- LOG.debug("{}: shutting down, ignoring command {}", persistenceId(), command);
+ LOG.debug("{}: shutting down, ignoring command {}", persistenceId, command);
}
}
diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/RecoveringClientActorBehavior.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/RecoveringClientActorBehavior.java
index 729d53dfc36..45a1c5102bf 100644
--- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/RecoveringClientActorBehavior.java
+++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/RecoveringClientActorBehavior.java
@@ -34,7 +34,8 @@ final class RecoveringClientActorBehavior extends AbstractClientActorBehavior
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/cds-mgmt-api/pom.xml b/opendaylight/md-sal/cds-mgmt-api/pom.xml
index f21bc6a07fb..e61a8749026 100644
--- a/opendaylight/md-sal/cds-mgmt-api/pom.xml
+++ b/opendaylight/md-sal/cds-mgmt-api/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/eos-dom-akka/pom.xml b/opendaylight/md-sal/eos-dom-akka/pom.xml
index d0a23c27fd1..784f7641efe 100644
--- a/opendaylight/md-sal/eos-dom-akka/pom.xml
+++ b/opendaylight/md-sal/eos-dom-akka/pom.xml
@@ -14,7 +14,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/mdsal-it-base/pom.xml b/opendaylight/md-sal/mdsal-it-base/pom.xml
index c304df1299b..ede2971b41e 100644
--- a/opendaylight/md-sal/mdsal-it-base/pom.xml
+++ b/opendaylight/md-sal/mdsal-it-base/pom.xml
@@ -12,13 +12,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.odlparent
bundle-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
mdsal-it-base
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
bundle
@@ -26,7 +26,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.mdsal
mdsal-artifacts
- 13.0.4
+ 13.0.7
pom
import
diff --git a/opendaylight/md-sal/mdsal-it-parent/pom.xml b/opendaylight/md-sal/mdsal-it-parent/pom.xml
index 033000e6ca5..a8ba7ef7e97 100644
--- a/opendaylight/md-sal/mdsal-it-parent/pom.xml
+++ b/opendaylight/md-sal/mdsal-it-parent/pom.xml
@@ -13,13 +13,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.odlparent
bundle-parent
- 13.1.3
+ 13.1.5
org.opendaylight.controller
mdsal-it-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
@@ -37,7 +37,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.controller
controller-artifacts
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
import
diff --git a/opendaylight/md-sal/parent/pom.xml b/opendaylight/md-sal/parent/pom.xml
index 1890599deb3..0630462a3a7 100644
--- a/opendaylight/md-sal/parent/pom.xml
+++ b/opendaylight/md-sal/parent/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.mdsal
binding-parent
- 13.0.4
+ 13.0.7
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
@@ -25,7 +25,7 @@
org.opendaylight.controller
bundle-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
import
diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml
index 3ac4c32c146..37dd97c83d9 100644
--- a/opendaylight/md-sal/pom.xml
+++ b/opendaylight/md-sal/pom.xml
@@ -5,13 +5,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
mdsal-aggregator
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/opendaylight/md-sal/sal-akka-raft-example/pom.xml b/opendaylight/md-sal/sal-akka-raft-example/pom.xml
index 83539fe42aa..7a6595f0261 100644
--- a/opendaylight/md-sal/sal-akka-raft-example/pom.xml
+++ b/opendaylight/md-sal/sal-akka-raft-example/pom.xml
@@ -11,7 +11,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-akka-raft/pom.xml b/opendaylight/md-sal/sal-akka-raft/pom.xml
index 765d4323bc5..7ec9a86bd6e 100644
--- a/opendaylight/md-sal/sal-akka-raft/pom.xml
+++ b/opendaylight/md-sal/sal-akka-raft/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationTest.java
index f197ba29a0e..58e68e7e015 100644
--- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationTest.java
+++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationTest.java
@@ -7,6 +7,7 @@
*/
package org.opendaylight.controller.cluster.raft;
+import static org.awaitility.Awaitility.await;
import static org.junit.Assert.assertEquals;
import akka.actor.ActorRef;
@@ -73,7 +74,7 @@ public void testStatePersistedBetweenSnapshotCaptureAndPersist() {
MessageCollectorActor.expectMatching(leaderCollectorActor, ApplyJournalEntries.class, 1);
// Now deliver the CaptureSnapshotReply to the leader.
- CaptureSnapshotReply captureSnapshotReply = MessageCollectorActor.expectFirstMatching(
+ final CaptureSnapshotReply captureSnapshotReply = MessageCollectorActor.expectFirstMatching(
leaderCollectorActor, CaptureSnapshotReply.class);
leaderActor.underlyingActor().stopDropMessages(CaptureSnapshotReply.class);
leaderActor.tell(captureSnapshotReply, leaderActor);
@@ -230,7 +231,12 @@ public void testRecoveryDeleteEntries() {
// Send new payloads
final MockPayload payload4 = sendPayloadData(leaderActor, "newFour");
+ await().untilAsserted(() -> assertEquals(
+ "leader journal last index", 4, leaderContext.getReplicatedLog().lastIndex()));
+
final MockPayload payload5 = sendPayloadData(leaderActor, "newFive");
+ await().untilAsserted(() -> assertEquals(
+ "leader journal last index", 5, leaderContext.getReplicatedLog().lastIndex()));
verifyRaftState(leaderActor, raftState -> {
assertEquals("leader journal last index", 5, leaderContext.getReplicatedLog().lastIndex());
diff --git a/opendaylight/md-sal/sal-akka-segmented-journal/pom.xml b/opendaylight/md-sal/sal-akka-segmented-journal/pom.xml
index 60a71706b44..d28a513a857 100644
--- a/opendaylight/md-sal/sal-akka-segmented-journal/pom.xml
+++ b/opendaylight/md-sal/sal-akka-segmented-journal/pom.xml
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java b/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java
index 0b780839116..d28c2114bd4 100644
--- a/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java
+++ b/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java
@@ -510,9 +510,10 @@ private void ensureOpen() {
.withName("delete")
.withMaxSegmentSize(DELETE_SEGMENT_SIZE)
.build(), READ_MAPPER, WRITE_MAPPER);
- final var lastDeleteRecovered = deleteJournal.openReader(deleteJournal.lastIndex())
- .tryNext((index, value, length) -> value);
- lastDelete = lastDeleteRecovered == null ? 0 : lastDeleteRecovered;
+ try (var reader = deleteJournal.openReader(deleteJournal.lastIndex())) {
+ final var lastDeleteRecovered = reader.tryNext((index, value, length) -> value);
+ lastDelete = lastDeleteRecovered == null ? 0 : lastDeleteRecovered;
+ }
dataJournal = new DataJournalV0(persistenceId, messageSize, context().system(), storage, directory,
maxEntrySize, maxSegmentSize);
diff --git a/opendaylight/md-sal/sal-binding-it/pom.xml b/opendaylight/md-sal/sal-binding-it/pom.xml
index 071789540c5..3eb75c00c19 100644
--- a/opendaylight/md-sal/sal-binding-it/pom.xml
+++ b/opendaylight/md-sal/sal-binding-it/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-it-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../mdsal-it-parent
sal-binding-it
diff --git a/opendaylight/md-sal/sal-cluster-admin-api/pom.xml b/opendaylight/md-sal/sal-cluster-admin-api/pom.xml
index 682485f5b26..3404612be5f 100644
--- a/opendaylight/md-sal/sal-cluster-admin-api/pom.xml
+++ b/opendaylight/md-sal/sal-cluster-admin-api/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml b/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml
index e2c7d25e7c4..9905ba6d30d 100644
--- a/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml
+++ b/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-cluster-admin-impl/src/main/java/org/opendaylight/controller/cluster/datastore/admin/OSGiClusterAdmin.java b/opendaylight/md-sal/sal-cluster-admin-impl/src/main/java/org/opendaylight/controller/cluster/datastore/admin/OSGiClusterAdmin.java
index bcbf408eedb..07eb97bae6f 100644
--- a/opendaylight/md-sal/sal-cluster-admin-impl/src/main/java/org/opendaylight/controller/cluster/datastore/admin/OSGiClusterAdmin.java
+++ b/opendaylight/md-sal/sal-cluster-admin-impl/src/main/java/org/opendaylight/controller/cluster/datastore/admin/OSGiClusterAdmin.java
@@ -29,7 +29,6 @@ public OSGiClusterAdmin(
@Reference(target = "(type=distributed-config)") final DistributedDataStoreInterface configDatastore,
@Reference(target = "(type=distributed-operational)") final DistributedDataStoreInterface operDatastore,
@Reference final RpcProviderService rpcProviderService,
- @Reference final DataCenterControl dataCenterControls,
@Reference final DataCenterControl dataCenterControl) {
reg = new ClusterAdminRpcService(configDatastore, operDatastore, dataCenterControl)
.registerWith(rpcProviderService);
diff --git a/opendaylight/md-sal/sal-cluster-admin-karaf-cli/pom.xml b/opendaylight/md-sal/sal-cluster-admin-karaf-cli/pom.xml
index 5cc05dbe01f..3e537518890 100644
--- a/opendaylight/md-sal/sal-cluster-admin-karaf-cli/pom.xml
+++ b/opendaylight/md-sal/sal-cluster-admin-karaf-cli/pom.xml
@@ -5,7 +5,7 @@
mdsal-parent
org.opendaylight.controller
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent/pom.xml
4.0.0
diff --git a/opendaylight/md-sal/sal-clustering-commons/pom.xml b/opendaylight/md-sal/sal-clustering-commons/pom.xml
index e8993caf329..4ad4e309c93 100644
--- a/opendaylight/md-sal/sal-clustering-commons/pom.xml
+++ b/opendaylight/md-sal/sal-clustering-commons/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/ExplicitAsk.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/ExplicitAsk.java
index e241d880c97..8add1b7c732 100644
--- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/ExplicitAsk.java
+++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/ExplicitAsk.java
@@ -33,7 +33,7 @@ private ExplicitAsk() {
}
public static Function1 toScala(final Function function) {
- return new AbstractFunction1() {
+ return new AbstractFunction1<>() {
@Override
public T apply(final ActorRef askSender) {
return function.apply(askSender);
diff --git a/opendaylight/md-sal/sal-clustering-config/pom.xml b/opendaylight/md-sal/sal-clustering-config/pom.xml
index ba1ee77762b..c450af34623 100644
--- a/opendaylight/md-sal/sal-clustering-config/pom.xml
+++ b/opendaylight/md-sal/sal-clustering-config/pom.xml
@@ -12,13 +12,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
sal-clustering-config
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
jar
Configuration files for md-sal clustering
diff --git a/opendaylight/md-sal/sal-common-util/pom.xml b/opendaylight/md-sal/sal-common-util/pom.xml
index 6ab3968a6e1..62f98ca091d 100644
--- a/opendaylight/md-sal/sal-common-util/pom.xml
+++ b/opendaylight/md-sal/sal-common-util/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-distributed-datastore/pom.xml b/opendaylight/md-sal/sal-distributed-datastore/pom.xml
index 07b379cdf20..20183bcab56 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/pom.xml
+++ b/opendaylight/md-sal/sal-distributed-datastore/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBroker.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBroker.java
index d6da8487e0f..64bb53cbce9 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBroker.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBroker.java
@@ -14,6 +14,7 @@
import static org.opendaylight.mdsal.dom.spi.TransactionCommitFailedExceptionMapper.PRE_COMMIT_MAPPER;
import com.google.common.annotations.Beta;
+import com.google.common.base.MoreObjects;
import com.google.common.util.concurrent.AbstractFuture;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.FutureCallback;
@@ -275,6 +276,11 @@ public void run() {
delegate.run();
}
}
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this).add("delegate", delegate).toString();
+ }
}
}
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java
index 507f065d49c..e3668dc26e3 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java
@@ -11,23 +11,20 @@
import static java.util.Objects.requireNonNull;
import akka.actor.ActorRef;
-import akka.util.Timeout;
+import akka.pattern.Patterns;
import com.google.common.base.Throwables;
+import java.time.Duration;
+import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
import org.opendaylight.controller.cluster.access.client.AbstractClientActor;
import org.opendaylight.controller.cluster.access.client.ClientActorConfig;
import org.opendaylight.controller.cluster.access.client.ClientActorContext;
import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier;
-import org.opendaylight.controller.cluster.common.actor.ExplicitAsk;
import org.opendaylight.controller.cluster.datastore.utils.ActorUtils;
-import scala.Function1;
-import scala.concurrent.Await;
-import scala.concurrent.duration.Duration;
public abstract class AbstractDataStoreClientActor extends AbstractClientActor {
- private static final Function1 GET_CLIENT_FACTORY = ExplicitAsk.toScala(GetClientRequest::new);
-
private final ActorUtils actorUtils;
AbstractDataStoreClientActor(final FrontendIdentifier frontendId, final ActorUtils actorUtils) {
@@ -45,18 +42,23 @@ protected final AbstractDataStoreClientBehavior initialBehavior(final ClientActo
return verifyNotNull(initialBehavior(context, actorUtils));
}
- @SuppressWarnings("checkstyle:hiddenField")
abstract AbstractDataStoreClientBehavior initialBehavior(ClientActorContext context, ActorUtils actorUtils);
@SuppressWarnings("checkstyle:IllegalCatch")
public static DataStoreClient getDistributedDataStoreClient(final @NonNull ActorRef actor,
final long timeout, final TimeUnit unit) {
+ final var future = requestDistributedDataStoreClient(actor, Duration.of(timeout, unit.toChronoUnit()));
try {
- return (DataStoreClient) Await.result(ExplicitAsk.ask(actor, GET_CLIENT_FACTORY,
- Timeout.apply(timeout, unit)), Duration.Inf());
+ return future.toCompletableFuture().get();
} catch (Exception e) {
Throwables.throwIfUnchecked(e);
throw new IllegalStateException(e);
}
}
+
+ @NonNullByDefault
+ public static CompletionStage requestDistributedDataStoreClient(final ActorRef actor,
+ final Duration timeout) {
+ return Patterns.askWithReplyTo(actor, GetClientRequest::new, timeout).thenApply(DataStoreClient.class::cast);
+ }
}
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractShardBackendResolver.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractShardBackendResolver.java
index 5a436a53d3b..5b81aab37e7 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractShardBackendResolver.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractShardBackendResolver.java
@@ -10,14 +10,13 @@
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import akka.actor.ActorRef;
-import akka.util.Timeout;
+import akka.pattern.Patterns;
import com.google.common.primitives.UnsignedLong;
+import java.time.Duration;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Consumer;
@@ -31,7 +30,6 @@
import org.opendaylight.controller.cluster.access.commands.NotLeaderException;
import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier;
import org.opendaylight.controller.cluster.access.concepts.RequestFailure;
-import org.opendaylight.controller.cluster.common.actor.ExplicitAsk;
import org.opendaylight.controller.cluster.datastore.exceptions.NoShardLeaderException;
import org.opendaylight.controller.cluster.datastore.exceptions.NotInitializedException;
import org.opendaylight.controller.cluster.datastore.exceptions.PrimaryNotFoundException;
@@ -40,7 +38,6 @@
import org.opendaylight.yangtools.concepts.Registration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import scala.Function1;
import scala.compat.java8.FutureConverters;
/**
@@ -87,18 +84,17 @@ private synchronized void onStageResolved(final ShardBackendInfo info, final Thr
* Connect request timeout. If the shard does not respond within this interval, we retry the lookup and connection.
*/
// TODO: maybe make this configurable somehow?
- private static final Timeout CONNECT_TIMEOUT = Timeout.apply(5, TimeUnit.SECONDS);
+ private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(5);
private final AtomicLong nextSessionId = new AtomicLong();
- private final Function1 connectFunction;
+ private final ClientIdentifier clientId;
private final ActorUtils actorUtils;
private final Set> staleBackendInfoCallbacks = ConcurrentHashMap.newKeySet();
// FIXME: we really need just ActorContext.findPrimaryShardAsync()
AbstractShardBackendResolver(final ClientIdentifier clientId, final ActorUtils actorUtils) {
this.actorUtils = requireNonNull(actorUtils);
- connectFunction = ExplicitAsk.toScala(t -> new ConnectClientRequest(clientId, t, ABIVersion.POTASSIUM,
- ABIVersion.current()));
+ this.clientId = requireNonNull(clientId);
}
@Override
@@ -157,7 +153,8 @@ private void connectShard(final String shardName, final long cookie, final Prima
final CompletableFuture future) {
LOG.debug("Shard {} resolved to {}, attempting to connect", shardName, info);
- FutureConverters.toJava(ExplicitAsk.ask(info.getPrimaryShardActor(), connectFunction, CONNECT_TIMEOUT))
+ Patterns.askWithReplyTo(info.getPrimaryShardActor(),
+ t -> new ConnectClientRequest(clientId, t, ABIVersion.POTASSIUM, ABIVersion.current()), CONNECT_TIMEOUT)
.whenComplete((response, failure) -> onConnectResponse(shardName, cookie, future, response, failure));
}
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractTransactionCommitCohort.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractTransactionCommitCohort.java
index 77de1e45d82..b10fbbe39ca 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractTransactionCommitCohort.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractTransactionCommitCohort.java
@@ -14,17 +14,13 @@
import com.google.common.util.concurrent.ListenableFuture;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
-import org.opendaylight.yangtools.yang.common.Empty;
/**
* Base class for internal {@link DOMStoreThreePhaseCommitCohort} implementation. It contains utility constants for
* wide reuse.
- *
- * @author Robert Varga
*/
abstract class AbstractTransactionCommitCohort implements DOMStoreThreePhaseCommitCohort {
static final ListenableFuture TRUE_FUTURE = Futures.immediateFuture(Boolean.TRUE);
- static final ListenableFuture EMPTY_FUTURE = Futures.immediateFuture(Empty.value());
private final AbstractClientHistory parent;
private final TransactionIdentifier txId;
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohort.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohort.java
index 5b5ff5864a3..41f929e63c3 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohort.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/DirectTransactionCommitCohort.java
@@ -17,8 +17,6 @@
/**
* An {@link AbstractTransactionCommitCohort} implementation for transactions which contain a single proxy. Since there
* is only one proxy,
- *
- * @author Robert Varga
*/
final class DirectTransactionCommitCohort extends AbstractTransactionCommitCohort {
private final AbstractProxyTransaction proxy;
@@ -36,13 +34,13 @@ public ListenableFuture canCommit() {
@Override
public ListenableFuture preCommit() {
- return EMPTY_FUTURE;
+ return Empty.immediateFuture();
}
@Override
public ListenableFuture abort() {
complete();
- return EMPTY_FUTURE;
+ return Empty.immediateFuture();
}
@Override
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/EmptyTransactionCommitCohort.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/EmptyTransactionCommitCohort.java
index 5b11d8679e3..70ea129d8b8 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/EmptyTransactionCommitCohort.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/EmptyTransactionCommitCohort.java
@@ -33,13 +33,13 @@ public ListenableFuture canCommit() {
@Override
public ListenableFuture preCommit() {
- return EMPTY_FUTURE;
+ return Empty.immediateFuture();
}
@Override
public ListenableFuture abort() {
complete();
- return EMPTY_FUTURE;
+ return Empty.immediateFuture();
}
@Override
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java
index d7d90474f33..7f8475cfac7 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java
@@ -46,9 +46,11 @@ public void publishChanges(final DataTreeCandidate candidate) {
@Override
protected void notifyListener(final Reg registration, final List changes) {
- final var listener = registration.listener();
- LOG.debug("{}: notifyListener: listener: {}", logContext, listener);
- listener.onDataTreeChanged(changes);
+ if (registration.notClosed()) {
+ final var listener = registration.listener();
+ LOG.debug("{}: notifyListener: listener: {}", logContext, listener);
+ listener.onDataTreeChanged(changes);
+ }
}
@Override
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java
index a5a76e06af8..3e19f2bf27e 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/DataTreeCandidateInputOutput.java
@@ -19,6 +19,7 @@
import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.concepts.Immutable;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.yang.data.api.schema.stream.ReusableStreamReceiver;
import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput;
import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataOutput;
@@ -55,7 +56,7 @@ public record DataTreeCandidateWithVersion(
private static final byte DISAPPEARED = 5;
private DataTreeCandidateInputOutput() {
- throw new UnsupportedOperationException();
+ // Hidden on purpose
}
private static DataTreeCandidateNode readModifiedNode(final ModificationType type, final NormalizedNodeDataInput in,
@@ -97,7 +98,7 @@ private static DataTreeCandidateNode readNode(final NormalizedNodeDataInput in,
case SUBTREE_MODIFIED -> readModifiedNode(ModificationType.SUBTREE_MODIFIED, in, receiver);
case UNMODIFIED -> null;
case WRITE -> DataTreeCandidateNodes.written(in.readNormalizedNode(receiver));
- default -> throw new IllegalArgumentException("Unhandled node type " + type);
+ default -> throw new IOException("Unhandled node type " + type);
};
}
@@ -117,7 +118,7 @@ public static DataTreeCandidateWithVersion readDataTreeCandidate(final DataInput
readChildren(reader, receiver));
case WRITE -> DataTreeCandidateNodes.written(reader.readNormalizedNode(receiver));
case UNMODIFIED -> AbstractDataTreeCandidateNode.createUnmodified();
- default -> throw new IllegalArgumentException("Unhandled node type " + type);
+ default -> throw new IOException("Unhandled node type " + type);
};
return new DataTreeCandidateWithVersion(DataTreeCandidates.newDataTreeCandidate(rootPath, rootNode),
reader.getVersion());
@@ -155,10 +156,10 @@ private static void writeNode(final NormalizedNodeDataOutput out, final DataTree
}
case WRITE -> {
out.writeByte(WRITE);
- out.writeNormalizedNode(node.getDataAfter());
+ out.writeNormalizedNode(requireDataAfter(node));
}
case UNMODIFIED -> out.writeByte(UNMODIFIED);
- default -> throwUnhandledNodeType(node);
+ default -> throw unhandledNodeType(node);
}
}
@@ -186,9 +187,9 @@ public static void writeDataTreeCandidate(final DataOutput out, final PayloadVer
case UNMODIFIED -> writer.writeByte(UNMODIFIED);
case WRITE -> {
writer.writeByte(WRITE);
- writer.writeNormalizedNode(node.getDataAfter());
+ writer.writeNormalizedNode(requireDataAfter(node));
}
- default -> throwUnhandledNodeType(node);
+ default -> throw unhandledNodeType(node);
}
}
}
@@ -198,7 +199,16 @@ public static void writeDataTreeCandidate(final DataOutput out, final DataTreeCa
writeDataTreeCandidate(out, PayloadVersion.current(), candidate);
}
- private static void throwUnhandledNodeType(final DataTreeCandidateNode node) {
- throw new IllegalArgumentException("Unhandled node type " + node.modificationType());
+ private static @NonNull NormalizedNode requireDataAfter(final DataTreeCandidateNode node) throws IOException {
+ final var after = node.dataAfter();
+ if (after != null) {
+ return after;
+ }
+ throw new IOException(
+ "Candidate for %s (%s) does not have after-image".formatted(node.name(), node.modificationType()));
+ }
+
+ private static IOException unhandledNodeType(final DataTreeCandidateNode node) {
+ return new IOException("Unhandled node type " + node.modificationType());
}
}
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorTest.java
index 7a3e2683921..c0dc0ce96e9 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorTest.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorTest.java
@@ -21,11 +21,10 @@
import akka.util.Timeout;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.Uninterruptibles;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import org.junit.After;
@@ -111,14 +110,14 @@ public void testMultipleThreePhaseCommits() throws Exception {
@Test
public void testAsyncCohort() throws Exception {
- ListeningExecutorService executor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
+ final var executor = Executors.newSingleThreadExecutor();
doReturn(executeWithDelay(executor, mockPostCanCommit))
.when(mockCohort).canCommit(any(Object.class), any(EffectiveModelContext.class), anyCollection());
- doReturn(executor.submit(() -> mockPostPreCommit)).when(mockPostCanCommit).preCommit();
+ doReturn(Futures.submit(() -> mockPostPreCommit, executor)).when(mockPostCanCommit).preCommit();
- doReturn(executor.submit(() -> null)).when(mockPostPreCommit).commit();
+ doReturn(Futures.submit(() -> null, executor)).when(mockPostPreCommit).commit();
ActorRef cohortActor = newCohortActor("testAsyncCohort");
@@ -187,11 +186,11 @@ public void testAbortAfterPreCommit() throws Exception {
verify(mockPostPreCommit).abort();
}
- private static FluentFuture executeWithDelay(final ListeningExecutorService executor, final T result) {
- return FluentFuture.from(executor.submit(() -> {
+ private static FluentFuture executeWithDelay(final Executor executor, final T result) {
+ return FluentFutures.submit(() -> {
Uninterruptibles.sleepUninterruptibly(500, TimeUnit.MILLISECONDS);
return result;
- }));
+ }, executor);
}
private ActorRef newCohortActor(final String name) {
diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java
index 071925fe55f..ea4ea34f031 100644
--- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java
+++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java
@@ -22,7 +22,6 @@
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Supplier;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.controller.cluster.datastore.messages.AbortTransaction;
import org.opendaylight.controller.cluster.datastore.messages.AbortTransactionReply;
@@ -44,8 +43,6 @@
@Deprecated(since = "9.0.0", forRemoval = true)
final class ThreePhaseCommitCohortProxy implements DOMStoreThreePhaseCommitCohort {
private static final Logger LOG = LoggerFactory.getLogger(ThreePhaseCommitCohortProxy.class);
- private static final @NonNull ListenableFuture IMMEDIATE_EMPTY_SUCCESS =
- Futures.immediateFuture(Empty.value());
private static final MessageSupplier COMMIT_MESSAGE_SUPPLIER = new MessageSupplier() {
@Override
@@ -257,7 +254,7 @@ private Future> invokeCohorts(final MessageSupplier messageSupp
@Override
public ListenableFuture preCommit() {
// We don't need to do anything here - preCommit is done atomically with the commit phase by the shard.
- return IMMEDIATE_EMPTY_SUCCESS;
+ return Empty.immediateFuture();
}
@Override
diff --git a/opendaylight/md-sal/sal-dummy-distributed-datastore/pom.xml b/opendaylight/md-sal/sal-dummy-distributed-datastore/pom.xml
index a55d2a60081..101b51a0809 100644
--- a/opendaylight/md-sal/sal-dummy-distributed-datastore/pom.xml
+++ b/opendaylight/md-sal/sal-dummy-distributed-datastore/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-remoterpc-connector/pom.xml b/opendaylight/md-sal/sal-remoterpc-connector/pom.xml
index 58273f5a224..cb226882c24 100644
--- a/opendaylight/md-sal/sal-remoterpc-connector/pom.xml
+++ b/opendaylight/md-sal/sal-remoterpc-connector/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/sal-test-model/pom.xml b/opendaylight/md-sal/sal-test-model/pom.xml
index e0e28de1d53..a4de63d2e42 100644
--- a/opendaylight/md-sal/sal-test-model/pom.xml
+++ b/opendaylight/md-sal/sal-test-model/pom.xml
@@ -6,7 +6,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../parent
diff --git a/opendaylight/md-sal/samples/clustering-test-app/configuration/pom.xml b/opendaylight/md-sal/samples/clustering-test-app/configuration/pom.xml
index 05436c3890b..b53b2973608 100644
--- a/opendaylight/md-sal/samples/clustering-test-app/configuration/pom.xml
+++ b/opendaylight/md-sal/samples/clustering-test-app/configuration/pom.xml
@@ -11,13 +11,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller.samples
clustering-it-config
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
jar
diff --git a/opendaylight/md-sal/samples/clustering-test-app/karaf-cli/pom.xml b/opendaylight/md-sal/samples/clustering-test-app/karaf-cli/pom.xml
index 49fde6a253e..35c3301fa49 100644
--- a/opendaylight/md-sal/samples/clustering-test-app/karaf-cli/pom.xml
+++ b/opendaylight/md-sal/samples/clustering-test-app/karaf-cli/pom.xml
@@ -12,7 +12,7 @@
mdsal-parent
org.opendaylight.controller
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../../parent/pom.xml
4.0.0
diff --git a/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml b/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml
index ba4a8449258..3259b13d3e4 100644
--- a/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml
+++ b/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml
@@ -5,7 +5,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../../parent
diff --git a/opendaylight/md-sal/samples/clustering-test-app/pom.xml b/opendaylight/md-sal/samples/clustering-test-app/pom.xml
index 0a4ba44d370..c7e93347231 100644
--- a/opendaylight/md-sal/samples/clustering-test-app/pom.xml
+++ b/opendaylight/md-sal/samples/clustering-test-app/pom.xml
@@ -4,13 +4,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller.samples
clustering-test-app
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/pom.xml b/opendaylight/md-sal/samples/clustering-test-app/provider/pom.xml
index 660cddf1f14..7777c3cf4a4 100644
--- a/opendaylight/md-sal/samples/clustering-test-app/provider/pom.xml
+++ b/opendaylight/md-sal/samples/clustering-test-app/provider/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../../parent
diff --git a/opendaylight/md-sal/samples/pom.xml b/opendaylight/md-sal/samples/pom.xml
index 1c696664b0c..303ae255efa 100644
--- a/opendaylight/md-sal/samples/pom.xml
+++ b/opendaylight/md-sal/samples/pom.xml
@@ -4,13 +4,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller.samples
samples-aggregator
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
diff --git a/opendaylight/md-sal/samples/toaster-consumer/pom.xml b/opendaylight/md-sal/samples/toaster-consumer/pom.xml
index 41eebef5541..16af7e02ebc 100644
--- a/opendaylight/md-sal/samples/toaster-consumer/pom.xml
+++ b/opendaylight/md-sal/samples/toaster-consumer/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../parent
diff --git a/opendaylight/md-sal/samples/toaster-it/pom.xml b/opendaylight/md-sal/samples/toaster-it/pom.xml
index 3fd393f8e0a..6d77455a96f 100644
--- a/opendaylight/md-sal/samples/toaster-it/pom.xml
+++ b/opendaylight/md-sal/samples/toaster-it/pom.xml
@@ -5,7 +5,7 @@
org.opendaylight.controller
mdsal-it-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../mdsal-it-parent
sample-toaster-it
diff --git a/opendaylight/md-sal/samples/toaster-provider/pom.xml b/opendaylight/md-sal/samples/toaster-provider/pom.xml
index 294309f300e..2f9e77a8c29 100644
--- a/opendaylight/md-sal/samples/toaster-provider/pom.xml
+++ b/opendaylight/md-sal/samples/toaster-provider/pom.xml
@@ -4,7 +4,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../parent
diff --git a/opendaylight/md-sal/samples/toaster/pom.xml b/opendaylight/md-sal/samples/toaster/pom.xml
index fca5366a9a0..be80cb0dd94 100644
--- a/opendaylight/md-sal/samples/toaster/pom.xml
+++ b/opendaylight/md-sal/samples/toaster/pom.xml
@@ -5,7 +5,7 @@
org.opendaylight.controller
mdsal-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../../parent
diff --git a/pom.xml b/pom.xml
index 89c52782bbc..e3a17e2730a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,13 +4,13 @@
org.opendaylight.odlparent
odlparent-lite
- 13.1.3
+ 13.1.5
org.opendaylight.controller
releasepom
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
pom
controller
diff --git a/raft-journal/pom.xml b/raft-journal/pom.xml
index 73e52cb9d77..4eb8675a5d3 100644
--- a/raft-journal/pom.xml
+++ b/raft-journal/pom.xml
@@ -20,7 +20,7 @@
org.opendaylight.controller
bundle-parent
- 9.0.4-SNAPSHOT
+ 9.0.7-SNAPSHOT
../bundle-parent
diff --git a/raft-journal/src/main/java/module-info.java b/raft-journal/src/main/java/module-info.java
index 5cbf7253027..90c3cdc83ee 100644
--- a/raft-journal/src/main/java/module-info.java
+++ b/raft-journal/src/main/java/module-info.java
@@ -17,6 +17,9 @@
exports org.opendaylight.controller.raft.journal;
requires transitive io.netty.buffer;
+ // TODO: ByteBuf implements ReferenceCounted and therefore netty-buffer
+ // should contain this
+ requires transitive io.netty.common;
// Annotations
requires static transitive org.eclipse.jdt.annotation;