Read lock promotion
[music.git] / src / main / java / org / onap / music / service / MusicCoreService.java
index c96d2b3..b322690 100644 (file)
@@ -98,6 +98,14 @@ public interface MusicCoreService {
      */
     public String createLockReference(String fullyQualifiedKey, LockType locktype) throws MusicLockingException;
     
+    /**
+     * Create a lock ref in the music lock store
+     * @param fullyQualifiedKey the key to create a lock on
+     * @param locktype the type of lock create, see {@link LockType}
+     * @param owner the owner of the lock, for deadlock prevention
+     */
+    public String createLockReference(String fullyQualifiedKey, LockType locktype, String owner) throws MusicLockingException;
+
     public ReturnType acquireLockWithLease(String key, String lockReference, long leasePeriod)
         throws MusicLockingException, MusicQueryException, MusicServiceException; // key,lock id,time
 
@@ -125,15 +133,10 @@ public interface MusicCoreService {
 
     public void destroyLockRef(String lockId) throws MusicLockingException;
     
-    //public MusicLockState destroyLockRef(String fullyQualifiedKey, String lockReference); // lock name, lock id
-
-    //public MusicLockState voluntaryReleaseLock(String fullyQualifiedKey, String lockReference)
-    //        throws MusicLockingException;// lock name,lock id
-
     public void deleteLock(String lockName) throws MusicLockingException;
     
-    //public MusicLockState  forciblyReleaseLock(String fullyQualifiedKey, String lockReference) throws MusicLockingException, MusicServiceException, MusicQueryException;
-
+    public ReturnType promoteLock(String lockIdToPromote) throws MusicLockingException;
+    
     public List<String> getLockQueue(String fullyQualifiedKey)
         throws MusicServiceException, MusicQueryException, MusicLockingException;
     
@@ -143,7 +146,9 @@ public interface MusicCoreService {
     public Map<String, Object> validateLock(String lockName);
 
     public MusicLockState releaseLock(String lockId, boolean voluntaryRelease) throws MusicLockingException;
-    
+
+       public List<String> releaseAllLocksForOwner(String ownerId, String keyspace, String table) throws MusicLockingException, MusicServiceException, MusicQueryException;
+
     
     //Methods added for orm