Maximum Value for “serviceIntervals” in Corticon server

Posted by Mary on 30-Jan-2014 00:55

Hi All,

What is the max value of “serviceIntervals” which is valid in Corticon Server?

Are there any side effects performance wise, if the “serviceIntervals” is set to the max value?

Is the following statement true: If the number of “serviceIntervals” is bigger, Corticon Server will work like autoreload=OFF until session timeout of Tomcat?

( From Corticon 5.3.3 Documentation, the default value for this property [ defined in CcServer.Properties ] is

30 secs (30000ms). )

All Replies

Posted by Chris S. Hogan on 30-Jan-2014 14:26

The purpose of the serviceIntervals is to control how often the Corticon Server checks to see if there are updates to a decision service that need to be loaded into memory. This is from the config file:

###############################################################################################################

#  Intervals of time (ms) at which the Server checks for changes to:

#    1.  Changes in any cdd loaded to the Server by a loadFromCdd or loadFromCddDir call

#    2.  Changes in any cdd file including new cdds within the directory of cdds from a

#        loadFromCddDir call

#    3.  Changes in any of the Decision Services (.ccj files) loaded to the server.  This is done via

#        a timestamp check.

#

#    If any changes as described above are detected, the Server's state is dynamically updated

#    to reflect the changes.  The "maintenance thead" that checks for these changes at the specified

#    intervals can be shutdown and restarted using:

#    - ICcServer.stopDynamicaUpdateMonitoringService()

#    - ICcServer.startDynamicUpdateMonitoringService()

#

#  Default is 30 secs (30,000 ms)

###############################################################################################################

com.corticon.ccserver.dynamicUpdateMonitoringService.serviceIntervals=30000

Generally 30 seconds is adequate for production configuration, but for demo and test environments you might prefer a shorter interval such as 1 to 5 seconds.

Posted by Jan Krishnamurthy on 30-Jan-2014 14:42

If Dynamic Reload is set to Yes in the cdd , then Corticon Server will periodically look to see if a Deployment Descriptor file, or any of the Decision Service entries in that file, has changed since the .cdd was last loaded. If so, it will be automatically reloaded.The time interval between checks is defined by property com.corticon.ccserver.dynamicUpdateMonitoringService.serviceIntervals  in CcServer.properties.

Even if No, Corticon Server will still use the most recent Ruleflow when it adds new Reactors into the pool.

Posted by Mary on 31-Jan-2014 00:12

Hi Chris, Jan,

Thanks for the reply.

Can you please confirm the following?

If  autoReload=YES, then the maximum value for 'serviceIntervals' should be 30 seconds, whether it is in Production or Test/Development environment.

If the above is not correct, kindly let me know if the maximum value can be set to a large value like 2147483647.

Regards

Mary

Posted by James Arsenault on 31-Jan-2014 11:35

Mary,

Your setting for serviceIntervals is dependent upon what policy you want to follow. If you're using CDD deployment and want decision services to update within 60 seconds of  any of the contributing assets being updated you would set it to 60 seconds. If you don't want them to ever update you would set autoReload to false or use EDS deployment. Having autoReload true and a very large value for serviceIntervals really is not much different from having autoReload false

Jim

Posted by Jan Krishnamurthy on 04-Feb-2014 10:51

The parameter com.corticon.ccserver.dynamicUpdateMonitoringService.serviceIntervals is stored as an INT

i.e. The range is 0 -  2,147,483,647

For eg. you can set the value of this parameter to a value like 86400000 ( i.e. 24 hours )

This thread is closed