TEC fact file is not firing - tec rule base encountered OVERFLOW 715
*** Internal data base key table overflow (Table option R).
TEC fact file appears to be not being processed through TEC rule base.
This TEC rule automation is always been working up until now.
Also we are getting a OVERFLOW 715 error in regard to our rule: setup_on_startup
Diagnosing the problem
We have the following rule to support fact file tables -
rule: setup_on_startup: (
event: _event of_class 'TEC_Start',
Resolving the problem
This 'overflow 715' error is quite a rare one, but has been reported a
few times before. Essentially it means that the tec rule process is
running out of memory. As you're aware there are several
prolog 'table' predicates that can be set to configure the size of the
tables in memory. It could be that these can be increased, or as
seems to have been the case in other reports of this, the limit was
actually with the operating system rather than TEC, so workarounds
were employed in the startup rule.
You error is on option R, the records table, it is possible to resize
this as below:
You could try upping the base and limit memory sizes used by the
The following need to be the very first predicates in the rule base.
This raises the base memory to one meg and the memory limit to four
Also Here are details of some of the known workarounds:
Making seemingly unrelated changes to the rulebase to try to debug
stops the error. For example, placing a call to statistics to dump the
table stats to stdout before any consults are issued stops the
Similarly, adding a write to stderr before each file is consulted to
try to determine where the overflow starts stops the problem, and
turning on tracing seems to stop the problem.
Also insure that you don't load all the fact files directly. It's best to
start TEC and on the tec start event execute a script with some
sleeps in it. This script executes some wpostemsg's to trigger rules
that load the FACTS.
Finally, you need to check what is happening at an O/S level.
I would recommend running a performance monitor. On aix you can run:
monitor -all -top 10
See if the tec_rule process is running out of memory. That's what the Overflow error message is telling us.
Alternatively AIX svmon command, if that fileset is installed. You
would use it as:
svmon -P (tec_rule pid) and it will return usage statistics for the
process. That may provide a clue to a resource issue.