diff options
author | 2019-05-21 13:19:40 -0400 | |
---|---|---|
committer | 2019-05-22 15:29:58 -0400 | |
commit | 92a80130ba924dc7b101b978bdad1d0fba14b141 (patch) | |
tree | 5bee5c732a20600c82a497b1463641a69b135559 /mdbc-server/src/test/java/org/onap/music | |
parent | ed4b4af2de4b02efd3f097323e9a999f905e60e6 (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.java | 11 | ||||
-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.java | 30 |
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(); |