aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/music/lockingservice/cassandra
diff options
context:
space:
mode:
authorMohammad Salehe <salehe@cs.toronto.edu>2018-12-19 22:31:11 -0500
committerMohammad Salehe <salehe@cs.toronto.edu>2018-12-22 15:07:11 -0500
commit4f0f883f3781e291fd10ad485efd5f850052cb66 (patch)
tree1e57c1362de91c0a13592699f8a4b0e219878dba /src/main/java/org/onap/music/lockingservice/cassandra
parent71336645ddc340487ca2dc0053e46a6387b4e542 (diff)
Add retry logic for acquireLock in atomicPut
acquireLock might fail right after generating a new lock reference because we are not making a SERIAL get. atomicPut should keep retrying until it acquires the lock. Change-Id: I7b0f85a0d0229e28a56cdd41ec69fcde8d8398fe Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
Diffstat (limited to 'src/main/java/org/onap/music/lockingservice/cassandra')
-rw-r--r--src/main/java/org/onap/music/lockingservice/cassandra/CassaLockStore.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/org/onap/music/lockingservice/cassandra/CassaLockStore.java b/src/main/java/org/onap/music/lockingservice/cassandra/CassaLockStore.java
index 51a78264..58163a8f 100644
--- a/src/main/java/org/onap/music/lockingservice/cassandra/CassaLockStore.java
+++ b/src/main/java/org/onap/music/lockingservice/cassandra/CassaLockStore.java
@@ -201,7 +201,7 @@ public class CassaLockStore {
* @param keyspace of the application.
* @param table of the application.
* @param key is the primary key of the application table
- * @return the UUID lock reference.
+ * @return the lock reference.
* @throws MusicServiceException
* @throws MusicQueryException
*/
@@ -217,11 +217,13 @@ public class CassaLockStore {
queryObject.appendQueryString(selectQuery);
ResultSet results = dsHandle.executeOneConsistencyGet(queryObject);
Row row = results.one();
+ if (row == null)
+ return null;
String lockReference = "" + row.getLong("lockReference");
String createTime = row.getString("createTime");
String acquireTime = row.getString("acquireTime");
- return new LockObject(lockReference, createTime,acquireTime);
+ return new LockObject(lockReference, createTime, acquireTime);
}
finally {
TimeMeasureInstance.instance().exit();