aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java')
-rw-r--r--src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java b/src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java
index e88e2bf..e88c261 100644
--- a/src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java
+++ b/src/main/java/org/onap/aai/dbgen/schemamod/SchemaModInternalBatch.java
@@ -32,6 +32,8 @@ import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.janusgraph.core.schema.ConsistencyModifier;
+import org.janusgraph.core.schema.JanusGraphIndex;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
import org.onap.aai.util.FormatDate;
@@ -48,17 +50,19 @@ public class SchemaModInternalBatch {
private final Class<?> type;
private final String indexType;
private final boolean preserveData;
+ private final boolean consistencyLock;
private final Cardinality cardinality;
private final long commitBlockSize;
private final Logger logger;
public SchemaModInternalBatch(TransactionalGraphEngine engine, Logger logger, String propName,
- String type, String indexType, boolean preserveData, long commitBlockSize) {
+ String type, String indexType, boolean preserveData, boolean consistencyLock, long commitBlockSize) {
this.engine = engine;
this.propName = propName;
this.type = determineClass(type);
this.indexType = indexType;
this.preserveData = preserveData;
+ this.consistencyLock = consistencyLock;
this.cardinality = determineCardinality(type);
this.commitBlockSize = commitBlockSize;
this.logger = logger;
@@ -226,14 +230,23 @@ public class SchemaModInternalBatch {
// targetDataType
PropertyKey freshPropKey = graphMgt.makePropertyKey(propName).dataType(type)
.cardinality(cardinality).make();
-
+ if (consistencyLock) {
+ logAndPrint(logger, " -- Consistency Lock is being set on the property ");
+ graphMgt.setConsistency(freshPropKey, ConsistencyModifier.LOCK);
+ }
// Create the appropriate index (if any)
+ JanusGraphIndex indexG = null;
if (indexType.equals("uniqueIndex")) {
String freshIndexName = propName + dteStr;
- graphMgt.buildIndex(freshIndexName, Vertex.class).addKey(freshPropKey).unique().buildCompositeIndex();
+ indexG = graphMgt.buildIndex(freshIndexName, Vertex.class).addKey(freshPropKey).unique().buildCompositeIndex();
} else if (indexType.equals("index")) {
String freshIndexName = propName + dteStr;
- graphMgt.buildIndex(freshIndexName, Vertex.class).addKey(freshPropKey).buildCompositeIndex();
+ indexG = graphMgt.buildIndex(freshIndexName, Vertex.class).addKey(freshPropKey).buildCompositeIndex();
+ }
+
+ if(indexG != null && consistencyLock) {
+ logAndPrint(logger, " -- Consistency Lock is being set on the index ");
+ graphMgt.setConsistency(indexG, ConsistencyModifier.LOCK);
}
logAndPrint(logger, "Committing schema changes with graphMgt.commit()");