Issue-ID: AAI-3100
Signed-off-by: Niharika Sharma <niharika.sharma@amdocs.com>
Change-Id: I34fe77179efc5590f6e70b0bb2b97e7229f0adf3
*/
package org.onap.aai.dbgen;
*/
package org.onap.aai.dbgen;
+import org.onap.aai.util.AAIConstants;
import com.google.common.collect.Multimap;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.Cardinality;
import org.janusgraph.core.Multiplicity;
import org.janusgraph.core.PropertyKey;
import org.janusgraph.core.schema.JanusGraphManagement;
import com.google.common.collect.Multimap;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.janusgraph.core.Cardinality;
import org.janusgraph.core.Multiplicity;
import org.janusgraph.core.PropertyKey;
import org.janusgraph.core.schema.JanusGraphManagement;
+import org.janusgraph.core.schema.JanusGraphIndex;
+import org.janusgraph.core.schema.ConsistencyModifier;
import org.onap.aai.config.SpringContextAware;
import org.onap.aai.edges.EdgeIngestor;
import org.onap.aai.edges.EdgeRule;
import org.onap.aai.config.SpringContextAware;
import org.onap.aai.edges.EdgeIngestor;
import org.onap.aai.edges.EdgeRule;
if (!seenProps.containsKey(dbPropName)) {
propK = graphMgmt.makePropertyKey(dbPropName).dataType(type).cardinality(cardinality)
.make();
if (!seenProps.containsKey(dbPropName)) {
propK = graphMgmt.makePropertyKey(dbPropName).dataType(type).cardinality(cardinality)
.make();
+ if (dbPropName.equals("aai-uri")) {
+ String aai_uri_lock_enabled = AAIConfig.get(AAIConstants.AAI_LOCK_URI_ENABLED, "false");
+ LOGGER.info(" Info: aai_uri_lock_enabled:" + aai_uri_lock_enabled);
+ if ("true".equals(aai_uri_lock_enabled)) {
+ LOGGER.info(" Lock is being set for aai-uri Property.");
+ graphMgmt.setConsistency(propK, ConsistencyModifier.LOCK);
+ }
+ }
seenProps.put(dbPropName, propK);
} else {
propK = seenProps.get(dbPropName);
seenProps.put(dbPropName, propK);
} else {
propK = seenProps.get(dbPropName);
LOGGER.debug(" Index [{}] already existed in the DB. ", dbPropName);
} else {
if (obj.getIndexedProperties().contains(propName)) {
LOGGER.debug(" Index [{}] already existed in the DB. ", dbPropName);
} else {
if (obj.getIndexedProperties().contains(propName)) {
+ JanusGraphIndex indexG = null;
if (obj.getUniqueProperties().contains(propName)) {
LOGGER.info("Add Unique index for PropertyKey: [{}]", dbPropName);
if (obj.getUniqueProperties().contains(propName)) {
LOGGER.info("Add Unique index for PropertyKey: [{}]", dbPropName);
- graphMgmt.buildIndex(dbPropName, Vertex.class).addKey(propK).unique()
- .buildCompositeIndex();
+ indexG = graphMgmt.buildIndex(dbPropName, Vertex.class).addKey(propK).unique()
+ .buildCompositeIndex();
} else {
LOGGER.info("Add index for PropertyKey: [{}]", dbPropName);
} else {
LOGGER.info("Add index for PropertyKey: [{}]", dbPropName);
- graphMgmt.buildIndex(dbPropName, Vertex.class).addKey(propK).buildCompositeIndex();
+ indexG = graphMgmt.buildIndex(dbPropName, Vertex.class).addKey(propK).buildCompositeIndex();
+ }
+ if (indexG != null && dbPropName.equals("aai-uri")) {
+ String aai_uri_lock_enabled = AAIConfig.get(AAIConstants.AAI_LOCK_URI_ENABLED, "false");
+ LOGGER.info(" Info:: aai_uri_lock_enabled:" + aai_uri_lock_enabled);
+ if ("true".equals(aai_uri_lock_enabled)) {
+ LOGGER.info("Lock is being set for aai-uri Index.");
+ graphMgmt.setConsistency(indexG, ConsistencyModifier.LOCK);
+ }
}
} else {
LOGGER.info("No index added for PropertyKey: [{}]", dbPropName);
}
} else {
LOGGER.info("No index added for PropertyKey: [{}]", dbPropName);
public static final String AAI_TRAVERSAL_MS = "aai-traversal";
public static final String AAI_RESOURCES_MS = "aai-resources";
public static final String AAI_TRAVERSAL_MS = "aai-traversal";
public static final String AAI_RESOURCES_MS = "aai-resources";
+ /** Flag to control concurrency lock */
+ public static final String AAI_LOCK_URI_ENABLED = "aai.lock.uri.enabled";
+
/**
* Instantiates a new AAI constants.
*/
/**
* Instantiates a new AAI constants.
*/