Merge "Bug fixes, syncronization, and clean up daemon"
[music.git] / music-core / src / main / java / org / onap / music / lockingservice / cassandra / CassaLockStore.java
index 1089847..a727357 100644 (file)
@@ -50,7 +50,7 @@ import com.datastax.driver.extras.codecs.enums.EnumNameCodec;
 public class CassaLockStore {
     
     private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(CassaLockStore.class);
-    private static String table_prepend_name = "lockQ_";
+    public static final String table_prepend_name = "lockQ_";
     private MusicDataStore dsHandle;
     
     public CassaLockStore() {
@@ -129,7 +129,7 @@ public class CassaLockStore {
         table = table_prepend_name+table;
         String tabQuery = "CREATE TABLE IF NOT EXISTS "+keyspace+"."+table
                 + " ( key text, lockReference bigint, createTime text, acquireTime text, guard bigint static, "
-                + "lockType text, owner text, PRIMARY KEY ((key), lockReference) ) "
+                + "lockType text, leasePeriodTime bigint, owner text, PRIMARY KEY ((key), lockReference) ) "
                 + "WITH CLUSTERING ORDER BY (lockReference ASC);";
         PreparedQueryObject queryObject = new PreparedQueryObject();
         
@@ -478,9 +478,9 @@ public class CassaLockStore {
         queryObject.appendQueryString(" WHERE lockType = ? ALLOW FILTERING");
         queryObject.addValue(LockType.WRITE);
 
-        DeadlockDetectionUtil ddu = new DeadlockDetectionUtil();
+        DeadlockDetectionUtil ddu = getDeadlockDetectionUtil();
 
-        ResultSet rs = dsHandle.executeQuorumConsistencyGet(queryObject);
+        ResultSet rs = dsHandle.executeLocalQuorumConsistencyGet(queryObject);
         logger.debug("rs has " + rs.getAvailableWithoutFetching() + (rs.isFullyFetched()?"":" (or more!)") );
         Iterator<Row> it = rs.iterator();
         while (it.hasNext()) {
@@ -493,6 +493,14 @@ public class CassaLockStore {
         return deadlock;
     }
 
+    /**
+     * This is used for testing purpose
+     * @return new DeadlockDetectionUtil object
+     */
+    DeadlockDetectionUtil getDeadlockDetectionUtil() {
+       return new DeadlockDetectionUtil();
+    }
+    
     public List<String> getAllLocksForOwner(String ownerId, String keyspace, String table) throws MusicServiceException, MusicQueryException {
         List<String> toRet = new ArrayList<String>();
         String lockTable = table_prepend_name + table;