[POLICY-75] Problems with KieScanner
1) Change the 'PolicySession.DefaultThreadModel' thread so it
continually calls 'fireUntilHalt' until it is explicitly stopped by
the 'stop()' method. This allows it to restart after 'KieScanner'
triggers an update.
2) Remove call to 'startScanner' in 'PolicyContainer' constructor --
we saw at least one case where 'KieScanner' would repeatedly update
the Drools container every 60 seconds.
Change-Id: I0d0e6c5650cef12ca00cf88f9b8cc52323bb6317
Signed-off-by: Ralph Straubs <rs8887@att.com>
diff --git a/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicyContainer.java b/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicyContainer.java
index 1b7941d..34988d3 100644
--- a/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicyContainer.java
+++ b/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicyContainer.java
@@ -124,7 +124,11 @@
}
containers.add(this);
}
- startScanner(releaseId);
+ // 'startScanner(releaseId)' was called at this point, but we have seen
+ // at least one case where the Drools container was repeatedly updated
+ // every 60 seconds. It isn't clear what conditions resulted in this
+ // behavior, so the call was removed. If needed, it can be explicitly
+ // called from a feature.
}
/**
diff --git a/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicySession.java b/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicySession.java
index ebfcb02..4eb088c 100644
--- a/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicySession.java
+++ b/policy-core/src/main/java/org/openecomp/policy/drools/core/PolicySession.java
@@ -562,8 +562,8 @@
{
kieSession.fireUntilHalt();
- // if we fall through, it means 'KieSession.halt()' was called
- repeat = false;
+ // if we fall through, it means 'KieSession.halt()' was called,
+ // but this may be a result of 'KieScanner' doing an update
}
catch (Throwable e)
{