*/
package org.opendaylight.controller.cluster.databroker.actors.dds;
+import static com.google.common.base.Verify.verify;
+
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
}
@Override
- java.util.Optional<ModifyTransactionRequest> flushState() {
+ Optional<ModifyTransactionRequest> flushState() {
if (!builderBusy) {
- return java.util.Optional.empty();
+ return Optional.empty();
}
final ModifyTransactionRequest request = builder.build();
builderBusy = false;
- return java.util.Optional.of(request);
+ return Optional.of(request);
}
@Override
final ModifyTransactionRequest req) {
req.getModifications().forEach(this::appendModification);
- final java.util.Optional<PersistenceProtocol> maybeProto = req.getPersistenceProtocol();
+ final Optional<PersistenceProtocol> maybeProto = req.getPersistenceProtocol();
if (maybeProto.isPresent()) {
// Persistence protocol implies we are sealed, propagate the marker, but hold off doing other actions
// until we know what we are going to do.
if (markSealed()) {
- sealOnly();
+ if (!sealOnly()) {
+ LOG.debug("Proxy {} has a successor, which should receive seal through a separate request", this);
+ }
}
final TransactionRequest<?> tmp;
final ModifyTransactionRequest req) {
req.getModifications().forEach(this::appendModification);
- final java.util.Optional<PersistenceProtocol> maybeProto = req.getPersistenceProtocol();
+ final Optional<PersistenceProtocol> maybeProto = req.getPersistenceProtocol();
if (maybeProto.isPresent()) {
// Persistence protocol implies we are sealed, propagate the marker, but hold off doing other actions
// until we know what we are going to do.
if (markSealed()) {
- sealOnly();
+ verify(sealOnly(), "Attempted to replay seal on %s", this);
}
final TransactionRequest<?> tmp;