On Sun, 21 Apr 2013 19:47:49 +0100 John Horne wrote:
> > That's the received wisdom, but I've never seen a definitive reason > > why. Compiled rules are intended to co-exit with non-compiled rules, > > and from my limited testing, rules behave correctly when they are > > added, removed or modified without recompiling. However I have seen > > one case where a rule wasn't working properly and was apparently > > fixed by a recompile, but I suspect that was a specific bug. > > > Thanks for the reply. I (now) gather that compilation actually only > applies to 'body' rules. We don't have too many of those, so generally > for non-body local rules a simple restart of SA works immediately. I > suspect that for the body rules we never noticed that they only > started to be hit the following day (recompiling of rules occurs each > night). We would have simply assumed that the rule didn't have any > hits until that time. It is, of course, something we will now bear in > mind :-) No, they should work immediately after the restart. As I said "from my limited testing, rules behave correctly when they are added, removed or modified *without* recompiling". That's to say I tried the obvious test cases: - adding a new local body rule and testing that it worked - removing a local body rule that's been previously compiled, and testing that it stopped working - modifying a local body rule that's been previously compiled, and testing that the new version works and the compiled version doesn't Whenever I've edited local rules, restarted the daemon and then tested, it's just worked. And you can see from the detailed debug that it was intended to work. The one aberration was when I once just happened to notice a long-standing rule wasn't working and a recompile fixed the problem. I don't know whether it's relevant or not.