Hi all,
after investigating the issue it turned out that the scheduling server was low on memory.
What happens is that in such a case Java desperately and aggressively tries to clean up its memory.
This includes a kind of "stop the wold" because the Java VM needs exclusive access to the memory.
If the garbage collection is (halfway) successful, the server will continue to run, but it won't take long before it runs out of memory again.
The effect is that the performance of the system drops significantly.
Transactions that usually take several milliseconds all of a sudden take seconds to complete.
The time scheduling thread aborts a calculation if it needs too much time to determine the next starting time of a master.
It will then disable the schedule that caused the problem; it doesn't make sense to spend, say, 15 seconds every 60 seconds for a calculation that doesn't complete.
Naturally, in this case the root cause for the lengthy calculation wasn't the complexity of the definition but the memory low situation, but the time scheduling thread was unaware of that.
The parameter that configures the available memory can be found in the java.conf file.
It is called BICSUITEMEM and defines the number of MB available to the Java VM.
Best regards,
Ronald