Broadleaf ScheduledJobsAndEvents 2.1.0-GA
Released on August 24, 2016
This is the 1st release of the Broadleaf Scheduled Jobs and Events 2.1.x module.
Noteworthy Updates
Deployment events are now consumed in their own channel with individual polling frequency and batch size settings
Other new channels include specific ones for VM
, GLOBAL
and priority events, respectively. Priority is a new channel designed to handle special, short-lived events whose timely completion is important. Priority events can be either VM
or GLOBAL
events
Here's a quick review of the properties that can be used to tweak throughput. A more thorough discussion is included in the javadoc for the DatabaseSystemEventNodeImpl
class.
VM Events
database.event.polling.interval.seconds
database.event.quantity.per.poll
database.job.thread.pool.count
Global Events
database.global.event.polling.interval.seconds
database.global.event.quantity.per.poll
database.global.job.thread.pool.count
Priority Events
database.priority.event.polling.interval.seconds
database.priority.event.quantity.per.poll
database.priority.job.thread.pool.count
New compression algorithm coupled with batching SystemEvent synchronization at the end of a promotion operation
Redundancy is removed, compressing the cache invalidation SystemEvent instances into as few as possible. This functionality is not enabled by default and must be enabled using the following property:
database.event.compression.enabled = true
Note: This functionality requires version 3.0.3 (or beyond) of the enterprise module to actually see event compression resulting from admin operations.
Additional information around ProcessStatus
Start and completion time is available on the database records to aid in troubleshooting ProcessStatus lifecycle duration. This is an optional feature in this release and is disabled by default. To enable, the following property must be set:
enable.process.status.timing=true
Note: Since this feature requires schema support, several additional columns must be added to the BLC_PROCESS_STATUS table. Refer to the ProcessStatusTimingImpl class for reference to the new fields and their types. For your convenience, the optional alter script for MySql is included:
alter table BLC_PROCESS_STATUS add column DATE_FINISHED datetime;
alter table BLC_PROCESS_STATUS add column DATE_STARTED datetime;
For those using Liquibase:
<changeSet id="Process Status Timing Fields">
<addColumn tableName="BLC_PROCESS_STATUS">
<column name="DATE_STARTED" type="datetime"/>
</addColumn>
<addColumn tableName="BLC_PROCESS_STATUS">
<column name="DATE_FINISHED" type="datetime"/>
</addColumn>
</changeSet>
An at-a-glance view of the issues that were closed in this release:
Major Bugs(3)
- Unwanted delays in deployment times were noticed
- Overly large quantity of
SystemEvent
andProcessStatus
records were being created during normal admin activity - Odd
ProcessStatus
state behavior was noticed when the auto retry mechanism was engaged - Global
SystemEvent
records can be overly delayed for deletion after consumption
Enhancements(1)
- Add support for the seeing the start and finish
timestamp
for aProcessStatus
Total Resolved Issues: 4