Documentation Home

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 and ProcessStatus 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 a ProcessStatus

Total Resolved Issues: 4