[POLICY-75] Problems with KieScanner 51/5851/1
authorRalph Straubs <rs8887@att.com>
Mon, 17 Jul 2017 09:23:23 +0000 (04:23 -0500)
committerRalph Straubs <rs8887@att.com>
Mon, 17 Jul 2017 09:24:04 +0000 (04:24 -0500)
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>
policy-core/src/main/java/org/openecomp/policy/drools/core/PolicyContainer.java
policy-core/src/main/java/org/openecomp/policy/drools/core/PolicySession.java

index 1b7941d..34988d3 100644 (file)
@@ -124,7 +124,11 @@ public class PolicyContainer implements Startable
                }
                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.
   }
 
   /**
index ebfcb02..4eb088c 100644 (file)
@@ -562,8 +562,8 @@ public class PolicySession
                        {
                          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)
                        {