Overview
The UAA (User Activity Action) Aggregation Job is a scheduled maintenance task responsible for aggregating UAA-related analytics data.
It processes session data in batches and updates analytics records to ensure reporting accuracy and optimized database performance.
This job runs automatically based on a configured schedule.
What the Job Does
The UAA Aggregation Job processes analytics session data and consolidates UAA-related information into aggregated reporting structures.
During execution, the job:
Reads eligible session records up to a defined cutoff time
Processes sessions in configurable batches
Updates aggregated analytics data used for reporting
Removes processed intermediate UAA records (where applicable)
Stores execution metadata for diagnostics and monitoring
Configuration
The job behavior can be configured via application properties.
1. Enabled / Disabled
Property:
newired.user-activity-aggregation.enabled
Type: boolean
Default: true
true – Job is scheduled and executed according to cron configuration
false – Job is completely disabled and will not run
1. Schedule (Cron Expression)
Defines how often the job runs.
Example:
newired.user-activity-aggregation.schedule
Runs daily at 02:00.
It is recommended to schedule the job during lower traffic periods if large datasets are processed.
Type: Cron Expression
Default: 0 0 2 * * *
3. Cutoff Time
Property:
newired.user-activity-aggregation.min-session-age-hours
Defines how old session records must be before they are eligible for aggregation.
Type: integer
Default: 2
Purpose:
Prevents processing of very recent sessions that may still be actively updated.
4. Sessions per Batch
Property:
newired.user-activity-aggregation.sessions-per-batch
Defines the number of sessions processed in a single batch.
Type: integer
Default: 5000
Purpose:
Controls database load and transaction size.
Lower values reduce database impact but may increase total execution time.
5. Max Batches per Run
Property:
newired.user-activity-aggregation.max-batches-per-run
Defines the maximum number of batches processed during one execution.
Type: integer
Default: 0 (no limit)
Purpose:
Limits how much data is processed in a single run to avoid long-running executions.
3. Database Statement TimeoutSetting:newired.user-activity-aggregation.statement-timeout
Supported formats:
Milliseconds (e.g., 5000)
Seconds (e.g., 5s)
Minutes (e.g., 15min)
Hours (e.g., 1h)
Default: 30min
Disabled:
Setting the value to 0 disables the timeout (equivalent to statement_timeout=0).
In this case, the job execution will not be terminated due to statement timeout.
Purpose:
Prevents excessively long-running database operations.
Diagnostics
A diagnostics endpoint is available for monitoring job execution:
<instance>/rest/app/diag/jobs/analytics/uaa-aggregation
The endpoint provides:
Job run history
Execution status
Duration
Processed records count
Error information (if any)
Access requires proper authorization (API key via request header nw-auth).
More details: https://support.newired.com/support/solutions/articles/103000391563
Operational Impact
The job:
May generate moderate database load depending on batch configuration
Should be scheduled during low-traffic periods if large datasets are processed
Supports timeout configuration to prevent long blocking queries
When to Adjust Configuration
Consider adjusting configuration if:
The analytics data table grows rapidly in size
Database storage consumption increases significantly
Aggregation runs take too long to complete
The job causes noticeable database load during business hours
In such cases:
Reduce sessions-per-batch to lower per-transaction load
Reduce max-batches-per-run to limit total work per execution
Adjust the cron schedule to run outside peak hours
Review min-session-age-hours if sessions are being aggregated too early or too late
The goal of tuning is to balance storage reduction with acceptable database load.
Summary
The UAA Aggregation Job consolidates multiple buffered session records into single summarized records per session and page.
It does not change business data and does not affect user-facing functionality.
Its main objectives are:
Reduce the number of stored analytics records
Lower long-term database size
Improve reporting efficiency
Execute heavy consolidation work outside peak usage periods
Proper configuration ensures efficient storage management without impacting normal system performance.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article