aboutsummaryrefslogtreecommitdiffstats
path: root/mdbc-server/src/test/java/org/onap/music
diff options
context:
space:
mode:
authorTschaen, Brendan <ctschaen@att.com>2019-05-21 13:19:40 -0400
committerTschaen, Brendan <ctschaen@att.com>2019-05-22 15:29:58 -0400
commit92a80130ba924dc7b101b978bdad1d0fba14b141 (patch)
tree5bee5c732a20600c82a497b1463641a69b135559 /mdbc-server/src/test/java/org/onap/music
parented4b4af2de4b02efd3f097323e9a999f905e60e6 (diff)
Read write lock implementation
Change-Id: Ifd680da39305adf36e8a4946643a17e9e0a4df97 Issue-ID: MUSIC-326 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
Diffstat (limited to 'mdbc-server/src/test/java/org/onap/music')
-rw-r--r--mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MusicMixinTest.java11
-rw-r--r--mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MySQLMixinTest.java (renamed from mdbc-server/src/test/java/org/onap/music/mdbc/MySQLMixinTest.java)4
-rw-r--r--mdbc-server/src/test/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpointTest.java30
3 files changed, 39 insertions, 6 deletions
diff --git a/mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MusicMixinTest.java b/mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MusicMixinTest.java
index c8d284e..e1dcc81 100644
--- a/mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MusicMixinTest.java
+++ b/mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MusicMixinTest.java
@@ -62,6 +62,8 @@ import org.onap.music.mdbc.Range;
import org.onap.music.mdbc.StateManager;
import org.onap.music.mdbc.proto.ProtoDigest.Digest.CompleteDigest;
+import org.onap.music.mdbc.query.SQLOperation;
+import org.onap.music.mdbc.query.SQLOperationType;
import org.onap.music.mdbc.tables.MusicRangeInformationRow;
import org.onap.music.mdbc.tables.MusicTxDigestId;
import org.onap.music.mdbc.tables.StagingTable;
@@ -130,7 +132,8 @@ public class MusicMixinTest {
DatabasePartition currentPartition = new DatabasePartition(MDBCUtils.generateTimebasedUniqueKey());
try {
- mixin.getStateManager().getOwnAndCheck().own(mixin,ranges,currentPartition, MDBCUtils.generateTimebasedUniqueKey());
+ mixin.getStateManager().getOwnAndCheck().own(mixin,ranges,currentPartition,
+ MDBCUtils.generateTimebasedUniqueKey(), SQLOperationType.WRITE);
} catch (MDBCServiceException e) {
fail("failure when running own function");
}
@@ -186,7 +189,8 @@ public class MusicMixinTest {
DatabasePartition currentPartition = new DatabasePartition(MDBCUtils.generateTimebasedUniqueKey());
MusicInterface.OwnershipReturn own = null;
try {
- own = mixin.getStateManager().getOwnAndCheck().own(mixin,range123, currentPartition, MDBCUtils.generateTimebasedUniqueKey());
+ own = mixin.getStateManager().getOwnAndCheck().own(mixin,range123, currentPartition,
+ MDBCUtils.generateTimebasedUniqueKey(), SQLOperationType.WRITE);
} catch (MDBCServiceException e) {
fail("failure when running own function");
}
@@ -231,7 +235,8 @@ public class MusicMixinTest {
MusicRangeInformationRow node3Row = mixin.getMusicRangeInformation(db3.getMRIIndex());
assertFalse(node3Row.getIsLatest());
}
-
+
+
@Test
public void relinquish() {
}
diff --git a/mdbc-server/src/test/java/org/onap/music/mdbc/MySQLMixinTest.java b/mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MySQLMixinTest.java
index 862e600..1f2c1dd 100644
--- a/mdbc-server/src/test/java/org/onap/music/mdbc/MySQLMixinTest.java
+++ b/mdbc-server/src/test/java/org/onap/music/mdbc/mixins/MySQLMixinTest.java
@@ -18,7 +18,7 @@
* ============LICENSE_END======================================================
*/
-package org.onap.music.mdbc;
+package org.onap.music.mdbc.mixins;
import java.util.Properties;
import org.junit.*;
@@ -26,7 +26,7 @@ import org.junit.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
-
+import org.onap.music.mdbc.MdbcTestUtils;
import org.onap.music.mdbc.MdbcTestUtils.DBType;
import org.onap.music.mdbc.mixins.MySQLMixin;
diff --git a/mdbc-server/src/test/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpointTest.java b/mdbc-server/src/test/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpointTest.java
index f2fbd1f..2435762 100644
--- a/mdbc-server/src/test/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpointTest.java
+++ b/mdbc-server/src/test/java/org/onap/music/mdbc/ownership/OwnershipAndCheckpointTest.java
@@ -51,7 +51,9 @@ import org.onap.music.mdbc.StateManager;
import org.onap.music.mdbc.MdbcTestUtils;
import org.onap.music.mdbc.TestUtils;
import org.onap.music.mdbc.mixins.LockResult;
+import org.onap.music.mdbc.mixins.MusicInterface;
import org.onap.music.mdbc.mixins.MusicInterface.OwnershipReturn;
+import org.onap.music.mdbc.query.SQLOperationType;
import org.onap.music.mdbc.mixins.MusicMixin;
import org.onap.music.mdbc.mixins.MySQLMixin;
import org.onap.music.mdbc.tables.MusicRangeInformationRow;
@@ -175,7 +177,7 @@ public class OwnershipAndCheckpointTest {
OwnershipReturn own=null;
try {
- own = ownAndCheck.own(musicMixin, ranges, currentPartition, ownOpId);
+ own = ownAndCheck.own(musicMixin, ranges, currentPartition, ownOpId, SQLOperationType.WRITE);
} catch (MDBCServiceException e) {
fail("failure when running own function");
}
@@ -251,6 +253,32 @@ public class OwnershipAndCheckpointTest {
checkData();
}
+
+
+ @Test
+ public void readOwn() throws Exception {
+ Range range = new Range("TABLE1");
+ MusicInterface mi = MdbcTestUtils.getMusicMixin();
+ List<Range> ranges = new ArrayList<>();
+ ranges.add(range);
+ final DatabasePartition partition = TestUtils.createBasicRow(range, mi, MdbcTestUtils.getServerName());
+ TestUtils.unlockRow(MdbcTestUtils.getKeyspace(), MdbcTestUtils.getMriTableName(), partition);
+
+ DatabasePartition currentPartition = new DatabasePartition(MDBCUtils.generateTimebasedUniqueKey());
+ MusicInterface.OwnershipReturn own1, own2;
+ try {
+ own1 = ownAndCheck.own(mi, ranges, currentPartition,
+ MDBCUtils.generateTimebasedUniqueKey(), SQLOperationType.READ);
+ // acquire the table again, should be allowed since they're both reads
+ own2 = ownAndCheck.own(mi, ranges, currentPartition,
+ MDBCUtils.generateTimebasedUniqueKey(), SQLOperationType.READ);
+ } catch (MDBCServiceException e) {
+ fail("failure when running own function");
+ return;
+ }
+
+ assertEquals(own1.getRangeId(), own2.getRangeId());
+ }
private void cleanAlreadyApplied(OwnershipAndCheckpoint ownAndCheck) {
ownAndCheck.getAlreadyApplied().clear();