ACP2E-4748: Reward points expiration runs slowly on stores with a large reward points history

The ACP2E-4748 patch fixes the issue where reward points expiration runs slowly on stores with a large reward points history, causing delays in expiring reward points. This patch is available when the Quality Patches Tool (QPT) 1.1.82 is installed. The patch ID is ACP2E-4748. Please note that this issue is scheduled to be fixed in Adobe Commerce 2.4.9.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.8-p1

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.4.7 - 2.4.8-p5
NOTE
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the magento/quality-patches package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

Reward points expiration runs slowly on stores with a large reward points history, causing delays in expiring reward points.

Prerequisites:

The store has a large reward points dataset.

Steps to reproduce:

  1. Go to Admin > Stores > Settings > Configuration > Customers > Reward Points.
  2. Set Enable Reward Points Functionality to Yes, set Reward Points Expire in (days) to a positive value, and then click Save Config.
  3. Confirm that the magento_reward and magento_reward_history tables contain a very large number of records.
  4. Wait for the magento_reward_expire_points cron job to execute.
  5. Measure the execution time of the query executed by Magento\Reward\Model\ResourceModel\Reward\History::expirePoints().

Expected results:

Scheduled reward points expiration completes in a reasonable time without delaying other cron processing.

Actual results:

The magento_reward_expire_points cron job runs slowly when magento_reward_history contains a very large volume of data.

Apply the patch

To apply individual patches, use the following links depending on your deployment method:

To learn more about Quality Patches Tool, refer to:

recommendation-more-help
commerce-operations-help-tools