X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Ftasks%2FRicSupervision.java;h=2666d6060f6f865c0cfae637fb734c4f9a7e459c;hb=refs%2Fchanges%2F61%2F3261%2F5;hp=d368fc462c57835033e11c3c9c138e7c72b942a0;hpb=be2000ec2d21151b42cb559ef881695eb32e35e9;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java index d368fc46..2666d606 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSupervision.java @@ -43,7 +43,8 @@ import reactor.core.publisher.Mono; /** * Regularly checks the existing rics towards the local repository to keep it - * consistent. + * consistent. When the policy types or instances in the Near-RT RIC is not + * consistent, a synchronization is performed. */ @Component @EnableScheduling @@ -73,20 +74,15 @@ public class RicSupervision { @Scheduled(fixedRate = 1000 * 60) public void checkAllRics() { logger.debug("Checking Rics starting"); - createTask().subscribe( // - ric -> logger.debug("Ric: {} checked", ric.ric.name()), // - null, // - () -> logger.debug("Checking Rics completed") // - ); + createTask().subscribe(null, null, () -> logger.debug("Checking all RICs completed")); } private Flux createTask() { - synchronized (this.rics) { - return Flux.fromIterable(rics.getRics()) // - .flatMap(this::createRicData) // - .flatMap(this::checkOneRic) // - .onErrorResume(throwable -> Mono.empty()); - } + return Flux.fromIterable(rics.getRics()) // + .flatMap(this::createRicData) // + .flatMap(this::checkOneRic) // + .onErrorResume(throwable -> Mono.empty()); + } private Mono checkOneRic(RicData ricData) { @@ -95,7 +91,9 @@ public class RicSupervision { .flatMap(x -> checkRicPolicies(ricData)) // .flatMap(x -> ricData.ric.getLock().unlock()) // .doOnError(throwable -> ricData.ric.getLock().unlockBlocking()) // - .flatMap(x -> checkRicPolicyTypes(ricData)); // + .flatMap(x -> checkRicPolicyTypes(ricData)) // + .doOnNext(x -> logger.debug("Ric: {} checked OK", ricData.ric.name())) // + .doOnError(t -> logger.debug("Ric: {} check Failed, exception: {}", ricData.ric.name(), t.getMessage())); } private static class RicData { @@ -115,7 +113,7 @@ public class RicSupervision { } private Mono checkRicState(RicData ric) { - if (ric.ric.getState() == RicState.UNDEFINED) { + if (ric.ric.getState() == RicState.UNAVAILABLE) { return startSynchronization(ric) // .onErrorResume(t -> Mono.empty()); } else if (ric.ric.getState() == RicState.SYNCHRONIZING) {