Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Improve LocalProxyTransaction.doExists()
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
datastore
/
ShardDataTreeMetadata.java
diff --git
a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMetadata.java
b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMetadata.java
index 47d07c0892f4e73f5c03dd6a8bb617862aaedd8f..76719f94f839f13f127dc3ed180fa6c4fffdf733 100644
(file)
--- a/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMetadata.java
+++ b/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMetadata.java
@@
-8,30
+8,62
@@
package org.opendaylight.controller.cluster.datastore;
import com.google.common.base.Verify;
package org.opendaylight.controller.cluster.datastore;
import com.google.common.base.Verify;
-import
javax.annotation.Nonn
ull;
-import
javax
.annotation.Nullable;
+import
org.eclipse.jdt.annotation.NonN
ull;
+import
org.eclipse.jdt
.annotation.Nullable;
import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.controller.cluster.datastore.persisted.ShardDataTreeSnapshotMetadata;
import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.controller.cluster.datastore.persisted.ShardDataTreeSnapshotMetadata;
+import org.opendaylight.controller.cluster.datastore.utils.ImmutableUnsignedLongSet;
abstract class ShardDataTreeMetadata<T extends ShardDataTreeSnapshotMetadata<T>> {
abstract class ShardDataTreeMetadata<T extends ShardDataTreeSnapshotMetadata<T>> {
- final void applySnapshot(@Nonnull final ShardDataTreeSnapshotMetadata<?> snapshot) {
+ /**
+ * Apply a recovered metadata snapshot.
+ *
+ * @param snapshot Metadata snapshot
+ */
+ final void applySnapshot(final @NonNull ShardDataTreeSnapshotMetadata<?> snapshot) {
Verify.verify(getSupportedType().isInstance(snapshot), "Snapshot %s misrouted to handler of %s", snapshot,
getSupportedType());
doApplySnapshot(getSupportedType().cast(snapshot));
}
Verify.verify(getSupportedType().isInstance(snapshot), "Snapshot %s misrouted to handler of %s", snapshot,
getSupportedType());
doApplySnapshot(getSupportedType().cast(snapshot));
}
+ /**
+ * Reset metadata to empty state.
+ */
abstract void reset();
abstract void reset();
- abstract void doApplySnapshot(@Nonnull T snapshot);
+ /**
+ * Apply a recovered metadata snapshot. This is not a public entrypoint, just an interface between the base class
+ * and its subclasses.
+ *
+ * @param snapshot Metadata snapshot
+ */
+ abstract void doApplySnapshot(@NonNull T snapshot);
- abstract @Nonnull Class<T> getSupportedType();
+ /**
+ * Return the type of metadata snapshot this object supports.
+ *
+ * @return Metadata type
+ */
+ abstract @NonNull Class<T> getSupportedType();
+ /**
+ * Take a snapshot of current metadata state.
+ *
+ * @return Metadata snapshot, or null if the metadata is empty.
+ */
abstract @Nullable T toSnapshot();
// Lifecycle events
abstract @Nullable T toSnapshot();
// Lifecycle events
+
+ abstract void onTransactionAborted(TransactionIdentifier txId);
+
abstract void onTransactionCommitted(TransactionIdentifier txId);
abstract void onTransactionCommitted(TransactionIdentifier txId);
+ abstract void onTransactionPurged(TransactionIdentifier txId);
+
+ abstract void onTransactionsSkipped(LocalHistoryIdentifier historyId, ImmutableUnsignedLongSet txIds);
+
abstract void onHistoryCreated(LocalHistoryIdentifier historyId);
abstract void onHistoryClosed(LocalHistoryIdentifier historyId);
abstract void onHistoryCreated(LocalHistoryIdentifier historyId);
abstract void onHistoryClosed(LocalHistoryIdentifier historyId);