Merge "Added STD sim 2.0.0 tests"
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / tasks / ServiceSupervision.java
index 2650992..9c55532 100644 (file)
@@ -50,6 +50,7 @@ import reactor.core.publisher.Mono;
 @SuppressWarnings("squid:S2629") // Invoke method(s) only conditionally
 public class ServiceSupervision {
     private static final Logger logger = LoggerFactory.getLogger(ServiceSupervision.class);
+    static final int CONCURRENCY_RIC = 1; // How may paralell requests that is sent
     private final Services services;
     private final Policies policies;
     private A1ClientFactory a1ClientFactory;
@@ -85,7 +86,7 @@ public class ServiceSupervision {
             .doOnNext(service -> logger.info("Service is expired: {}", service.getName())) //
             .doOnNext(service -> services.remove(service.getName())) //
             .flatMap(this::getAllPoliciesForService) //
-            .flatMap(this::deletePolicy);
+            .flatMap(this::deletePolicy, CONCURRENCY_RIC);
     }
 
     @SuppressWarnings("squid:S2629") // Invoke method(s) only conditionally
@@ -105,9 +106,7 @@ public class ServiceSupervision {
     }
 
     private Flux<Policy> getAllPoliciesForService(Service service) {
-        synchronized (policies) {
-            return Flux.fromIterable(policies.getForService(service.getName()));
-        }
+        return Flux.fromIterable(policies.getForService(service.getName()));
     }
 
     private Mono<Policy> deletePolicyInRic(Policy policy) {
@@ -118,7 +117,8 @@ public class ServiceSupervision {
     }
 
     private Mono<String> handleDeleteFromRicFailure(Policy policy, Throwable e) {
-        logger.warn("Could not delete policy: {} from ric: {}", policy.id(), policy.ric().name(), e);
+        logger.warn("Could not delete policy: {} from ric: {}. Cause: {}", policy.id(), policy.ric().name(),
+            e.getMessage());
         return Mono.empty();
     }
 }