<div dir="ltr">Hi all,<div>We tested the commit using the latest snapshot (6.1.0-SNAPSHOT, I went quickly through the code and it seems the right version).</div><div>Everything works as expected a part from a strange issue, that seems related to event throughput.</div>
<div>Namely, when usic the basic pattern for counting (i.e. no CronTrigger), from time to time the &quot;cron triggered&quot; rules won&#39;t trigger. </div><div>Few evidences added in the log below (@300eps):</div><div><br>
</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font face="courier new, monospace"># StreamTester - 300eps +/- 10%</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:31:58.288 (ReteooRuleBase.java:&lt;init&gt;:200) Starting Engine in PHREAK mode</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:00.006 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 489</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:00.095 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 492</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:01.688 (StreamTester.java:run:69) Total events: 1000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:04.838 (StreamTester.java:run:69) Total events: 2000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:08.001 (StreamTester.java:run:69) Total events: 3000</font></div></div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) did not trigger --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:11.177 (StreamTester.java:run:69) Total events: 4000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:14.231 (StreamTester.java:run:69) Total events: 5000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:17.287 (StreamTester.java:run:69) Total events: 6000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:20.001 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 6893</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:20.329 (StreamTester.java:run:69) Total events: 7000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:23.375 (StreamTester.java:run:69) Total events: 8000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:26.408 (StreamTester.java:run:69) Total events: 9000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:29.522 (StreamTester.java:run:69) Total events: 10000</font></div>
</div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) did not trigger --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:32.560 (StreamTester.java:run:69) Total events: 11000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:35.593 (StreamTester.java:run:69) Total events: 12000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:38.640 (StreamTester.java:run:69) Total events: 13000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:40.002 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 13447</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:41.685 (StreamTester.java:run:69) Total events: 14000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:44.735 (StreamTester.java:run:69) Total events: 15000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:47.785 (StreamTester.java:run:69) Total events: 16000</font></div></div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) did not trigger --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:50.836 (StreamTester.java:run:69) Total events: 17000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:53.882 (StreamTester.java:run:69) Total events: 18000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:32:56.917 (StreamTester.java:run:69) Total events: 19000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:00.014 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 19443</font></div>
</div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) did not trigger --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:00.273 (StreamTester.java:run:69) Total events: 20000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:03.820 (StreamTester.java:run:69) Total events: 21000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:06.934 (StreamTester.java:run:69) Total events: 22000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:10.150 (StreamTester.java:run:69) Total events: 23000</font></div>
</div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) delayed (fair enough IMO) --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:12.477 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 19327</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:13.755 (StreamTester.java:run:69) Total events: 24000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:17.442 (StreamTester.java:run:69) Total events: 25000</font></div></div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) did not trigger --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:20.926 (StreamTester.java:run:69) Total events: 26000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:24.392 (StreamTester.java:run:69) Total events: 27000</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:27.991 (StreamTester.java:run:69) Total events: 28000</font></div></div><div><div><font face="courier new, monospace"><span class="" style="white-space:pre">                                </span>&lt;!-- rule &quot;Count epm&quot;<span class="" style="white-space:pre">        </span>timer ( cron: 0/10 * * * * ? ) did not trigger --&gt;</font></div>
</div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:31.534 (StreamTester.java:run:69) Total events: 29000</font></div></div><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 13:33:35.019 (StreamTester.java:run:69) Total events: 30000</font></div>
</div></blockquote><div><br></div><div>The problem, at least on my notebook, is still there @100eps and @50eps (untriggered rate decreasing in accordance with event throughput).</div><div>@10eps everything&#39;s fine (see log below):</div>
<div class="gmail_extra"><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace"># StreamTester - 10eps +/- 10%</div>
</div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:44:39.058 (ReteooRuleBase.java:&lt;init&gt;:200) Starting Engine in PHREAK mode</div></div><div class="gmail_extra">
<div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:44:40.011 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 8</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">
[DEBUG] 2014-04-02 13:44:50.004 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 107</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:45:00.004 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 205</div>
</div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:45:00.010 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 205</div></div><div class="gmail_extra">
<div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:45:10.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 304</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">
[DEBUG] 2014-04-02 13:45:20.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 404</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:45:30.011 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 503</div>
</div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:45:40.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 594</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">
[DEBUG] 2014-04-02 13:45:50.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:46:00.012 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 597</div>
</div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:46:00.015 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 597</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">
[DEBUG] 2014-04-02 13:46:10.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:46:20.004 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595</div>
</div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:46:20.194 (StreamTester.java:run:69) Total events: 1000</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">
[DEBUG] 2014-04-02 13:46:30.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:46:40.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 595</div>
</div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:46:50.003 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 594</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">
[DEBUG] 2014-04-02 13:47:00.003 (Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live counters = 593</div></div><div class="gmail_extra"><div style="font-family:&#39;courier new&#39;,monospace">[DEBUG] 2014-04-02 13:47:00.005 (Rule_Count_epm442808096.java:defaultConsequence:14) epm = 593</div>
</div></blockquote><div class="gmail_extra"><div><br></div><div>More surprisingly (well, maybe not that much) if we switch to the CronTrigger pattern (i,e, the test case you submitted), everything works smoothly even @300eps.</div>
<div>The only effect is a delay (1-2 secs) in when the counting rule is actually triggered (see log below). Delay drops below 1 sec @100eps.</div><div><br></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:29.550 (ReteooRuleBase.java:&lt;init&gt;:200) Starting Engine in PHREAK mode</font></div></div></div><div class="gmail_extra">
<div><div><font face="courier new, monospace">[Wed Apr 02 14:10:30 CEST 2014] epm = 99</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:32.837 (StreamTester.java:run:69) Total events: 1000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:35.939 (StreamTester.java:run:69) Total events: 2000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:38.997 (StreamTester.java:run:69) Total events: 3000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:10:41 CEST 2014] epm = 3331</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:42.175 (StreamTester.java:run:69) Total events: 4000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:45.229 (StreamTester.java:run:69) Total events: 5000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:48.285 (StreamTester.java:run:69) Total events: 6000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:51.417 (StreamTester.java:run:69) Total events: 7000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:10:51 CEST 2014] epm = 6568</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:54.486 (StreamTester.java:run:69) Total events: 8000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:10:57.535 (StreamTester.java:run:69) Total events: 9000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:00.603 (StreamTester.java:run:69) Total events: 10000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[Wed Apr 02 14:11:01 CEST 2014] epm = 9812</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:03.719 (StreamTester.java:run:69) Total events: 11000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:06.761 (StreamTester.java:run:69) Total events: 12000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:09.807 (StreamTester.java:run:69) Total events: 13000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:11:11 CEST 2014] epm = 13065</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:12.940 (StreamTester.java:run:69) Total events: 14000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:16.001 (StreamTester.java:run:69) Total events: 15000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:19.034 (StreamTester.java:run:69) Total events: 16000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:11:21 CEST 2014] epm = 16319</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:22.129 (StreamTester.java:run:69) Total events: 17000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:25.176 (StreamTester.java:run:69) Total events: 18000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:28.222 (StreamTester.java:run:69) Total events: 19000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:31.458 (StreamTester.java:run:69) Total events: 20000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:11:31 CEST 2014] epm = 19491</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:34.598 (StreamTester.java:run:69) Total events: 21000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:37.638 (StreamTester.java:run:69) Total events: 22000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:40.777 (StreamTester.java:run:69) Total events: 23000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:11:42 CEST 2014] epm = 19450</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:44.200 (StreamTester.java:run:69) Total events: 24000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:47.261 (StreamTester.java:run:69) Total events: 25000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:50.328 (StreamTester.java:run:69) Total events: 26000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:11:52 CEST 2014] epm = 19335</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:53.717 (StreamTester.java:run:69) Total events: 27000</font></div>
</div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:56.768 (StreamTester.java:run:69) Total events: 28000</font></div></div></div><div class="gmail_extra"><div><div>
<font face="courier new, monospace">[DEBUG] 2014-04-02 14:11:59.814 (StreamTester.java:run:69) Total events: 29000</font></div></div></div><div class="gmail_extra"><div><div><font face="courier new, monospace">[Wed Apr 02 14:12:02 CEST 2014] epm = 19251</font></div>
</div></div><div class="gmail_extra"><div><font face="courier new, monospace">[DEBUG] 2014-04-02 14:12:03.349 (StreamTester.java:run:69) Total events: 3000</font><span style="font-family:&#39;courier new&#39;,monospace">0</span></div>
</div></blockquote><div class="gmail_extra"><div><br></div><div>Possibly a noop is less demanding than a lengthy operation such as an accumulate...</div><div><br></div><div>Hope this helps.</div><div>Thanks in advance,</div>
<div>Vieri</div><div><br></div>-- <br><div dir="ltr">Vieri Emiliani<br><a href="mailto:vieri.emiliani@gmail.com" target="_blank">vieri.emiliani@gmail.com</a><br><br></div>
</div></div>