public static final String KEY_WARMUPRANGES = "warmupranges";
/** Default async staging table update o ption*/
public static final String ASYNC_STAGING_TABLE_UPDATE = "false";
+ /** The property name to determine if only write locks are allowed */
+ public static final String KEY_WRITE_LOCKS_ONLY = "write_locks_only";
+ /** Default if only write locks are allowed */
+ public static final Boolean WRITE_LOCK_ONLY_DEFAULT = false;
}
import org.json.JSONObject;
public class MDBCUtils {
+ public static boolean writeLocksOnly = false;
public static void saveToFile(String serializedContent, String filename, EELFLoggerDelegate logger) throws IOException {
try (PrintWriter fout = new PrintWriter(filename)) {
* @return write if any table has a write query. Read otherwise
*/
public static SQLOperationType getOperationType(Map<String, List<SQLOperation>> tableToQueryType) {
+ if (writeLocksOnly) {
+ return SQLOperationType.WRITE;
+ }
+
for (List<org.onap.music.mdbc.query.SQLOperation> tablesOps : tableToQueryType.values()) {
for (org.onap.music.mdbc.query.SQLOperation op : tablesOps) {
if (op.getOperationType() != SQLOperationType.READ) {
cassandraUrl = info.getProperty(Configuration.KEY_CASSANDRA_URL, Configuration.CASSANDRA_URL_DEFAULT);
musicmixin = info.getProperty(Configuration.KEY_MUSIC_MIXIN_NAME, Configuration.MUSIC_MIXIN_DEFAULT);
+ String writeLocksOnly = info.getProperty(Configuration.KEY_WRITE_LOCKS_ONLY);
+ MDBCUtils.writeLocksOnly = (writeLocksOnly==null) ? Configuration.WRITE_LOCK_ONLY_DEFAULT : Boolean.parseBoolean(writeLocksOnly);
+
initMusic();
initSqlDatabase();
initTxDaemonThread();
# whether or not to split the partitions
partition_splitting=true
+write_locks_only=true
+
#time, in seconds, between when the daemon catches up
txdaemonsleeps=15
\ No newline at end of file