Fixed Concurrent Updates overriding the AAI object 35/120235/2
authorNiharika Sharma <niharika.sharma@amdocs.com>
Tue, 6 Apr 2021 17:43:18 +0000 (13:43 -0400)
committerNiharika Sharma <niharika.sharma@amdocs.com>
Tue, 6 Apr 2021 18:54:48 +0000 (14:54 -0400)
Issue-ID: AAI-3308
Signed-off-by: Niharika Sharma <niharika.sharma@amdocs.com>
Change-Id: I7d2d591928987b9f5f9465325fc1c4d03dee3db2

aai-core/src/main/java/org/onap/aai/dbgen/SchemaGenerator.java
aai-els-onap-logging/src/main/java/org/onap/aai/util/AAIConstants.java

index 37d497a..9f3e747 100644 (file)
@@ -126,6 +126,14 @@ public class SchemaGenerator {
                                     graphMgmt.setConsistency(propK, ConsistencyModifier.LOCK);
                                 }
                             }
+                            else if (dbPropName.equals("resource-version")) {
+                                String aai_rv_lock_enabled = AAIConfig.get(AAIConstants.AAI_LOCK_RV_ENABLED, "false");
+                                LOGGER.info(" Info: aai_rv_lock_enabled:" + aai_rv_lock_enabled);
+                                if ("true".equals(aai_rv_lock_enabled)) {
+                                    LOGGER.info(" Lock is being set for resource-version Property.");
+                                    graphMgmt.setConsistency(propK, ConsistencyModifier.LOCK);
+                                }
+                            }
                             seenProps.put(dbPropName, propK);
                         } else {
                             propK = seenProps.get(dbPropName);
@@ -151,6 +159,14 @@ public class SchemaGenerator {
                                         graphMgmt.setConsistency(indexG, ConsistencyModifier.LOCK);
                                     }
                                 }
+                                else if (indexG != null && dbPropName.equals("resource-version")) {
+                                    String aai_rv_lock_enabled = AAIConfig.get(AAIConstants.AAI_LOCK_RV_ENABLED, "false");
+                                    LOGGER.info(" Info:: aai_rv_lock_enabled:" + aai_rv_lock_enabled);
+                                    if ("true".equals(aai_rv_lock_enabled)) {
+                                        LOGGER.info("Lock is being set for resource-version Index.");
+                                        graphMgmt.setConsistency(indexG, ConsistencyModifier.LOCK);
+                                    }
+                                }
                             } else {
                                 LOGGER.info("No index added for PropertyKey: [{}]", dbPropName);
                             }
index f44f736..a1a3618 100644 (file)
@@ -157,6 +157,8 @@ public final class AAIConstants {
     /** Flag to control concurrency lock */
     public static final String AAI_LOCK_URI_ENABLED = "aai.lock.uri.enabled";
 
+    public static final String AAI_LOCK_RV_ENABLED = "aai.lock.rv.enabled";
+
     /**
      * Instantiates a new AAI constants.
      */