diff options
author | Niharika Sharma <niharika.sharma@amdocs.com> | 2020-10-06 16:23:46 -0400 |
---|---|---|
committer | Niharika Sharma <niharika.sharma@amdocs.com> | 2020-10-06 16:23:46 -0400 |
commit | 0a31b51a1248ff77996047c3fcae1346d2343e13 (patch) | |
tree | 1e05bb4bcafdcc65197c211066c862123fde60e7 /aai-core | |
parent | 5be25f9fc6dfedf53d4be34878f9f0bd481f7154 (diff) |
Fixed concurrency issue in PNF uploading
Issue-ID: AAI-3100
Signed-off-by: Niharika Sharma <niharika.sharma@amdocs.com>
Change-Id: I34fe77179efc5590f6e70b0bb2b97e7229f0adf3
Diffstat (limited to 'aai-core')
-rw-r--r-- | aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java b/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java index af81c2d2..37d497ab 100644 --- a/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java +++ b/aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java @@ -19,13 +19,15 @@ */ 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 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; @@ -116,6 +118,14 @@ public class SchemaGenerator { 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); @@ -124,13 +134,22 @@ public class SchemaGenerator { 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); - 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); - 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); |