aboutsummaryrefslogtreecommitdiffstats
path: root/mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java
diff options
context:
space:
mode:
Diffstat (limited to 'mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java')
-rw-r--r--mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java b/mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java
index 854eb5f..167efe6 100644
--- a/mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java
+++ b/mdbc-server/src/main/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpoint.java
@@ -229,6 +229,15 @@ public class OwnershipAndCheckpoint{
}
}
+ /**
+ * Apply tx digest for ranges, update checkpoint location (alreadyApplied)
+ * @param mi
+ * @param di
+ * @param ranges
+ * @param node
+ * @param pair
+ * @throws MDBCServiceException
+ */
private void applyDigestAndUpdateDataStructures(MusicInterface mi, DBInterface di, List<Range> ranges, DagNode node,
Pair<MusicTxDigestId, List<Range>> pair) throws MDBCServiceException {
final StagingTable txDigest;
@@ -244,9 +253,33 @@ public class OwnershipAndCheckpoint{
for (Range r : pair.getValue()) {
MusicRangeInformationRow row = node.getRow();
alreadyApplied.put(r, Pair.of(new MriReference(row.getPartitionIndex()), pair.getKey().index));
+
+ updateCheckpointLocations(mi, di, r, row.getPartitionIndex(), pair.getKey().index);
}
}
+ /**
+ * Update external checkpoint markers in sql db and music
+ * @param mi
+ * @param di
+ * @param r
+ * @param partitionIndex
+ * @param index
+ */
+ private void updateCheckpointLocations(MusicInterface mi, DBInterface dbi, Range r, UUID partitionIndex, int index) {
+ dbi.updateCheckpointLocations(r, Pair.of(partitionIndex, index));
+ mi.updateCheckpointLocations(r, Pair.of(partitionIndex, index));
+ }
+
+ /**
+ * Forceably apply changes in tx digest for ranges
+ * @param mi
+ * @param db
+ * @param extendedDag
+ * @param ranges
+ * @param ownOpId
+ * @throws MDBCServiceException
+ */
private void applyRequiredChanges(MusicInterface mi, DBInterface db, Dag extendedDag, List<Range> ranges, UUID ownOpId)
throws MDBCServiceException {
Set<Range> rangeSet = new HashSet<Range>(ranges);