User Activity Aggregation Job

Modified on Wed, 22 Apr at 9:36 AM

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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article