Performance - Prevent redundant processing back to January 1st 1970 on every cron run

Created on 7 August 2023, 11 months ago
Updated 5 June 2024, 20 days ago

Problem/Motivation

Bumping this to critical.

The solution is outlined quite some time ago in comment #3003907-73: Make this work with multilingual β†’

Without this solution your site can become completely hampered by performance issues caused by redundant processing going back to January 1st 1970.

Steps to reproduce

Start using lightining_scheduler, schedule several transitions over a period of several months/years.
Notice your site getting slower and slower the more that scheduler transitions accumulate.

Proposed resolution

See patch

Remaining tasks

Review and commit the patch and tag a release.

User interface changes

N/A

API changes

Goes back to last cron run minus a couple days (no more) to ensure everything is processed but not excessively redundantly. Each processing loads the node into memory, can become extremely onerous over time and the logic makes no sense and can lead to excessive denials of service.

The end result is a denial of service and overtaxing of servers.

Data model changes

N/A

πŸ› Bug report
Status

Needs review

Version

1.0

Component

Code

Created by

πŸ‡¨πŸ‡¦Canada joseph.olstad

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @joseph.olstad
  • Status changed to Needs review 11 months ago
  • Open in Jenkins β†’ Open on Drupal.org β†’
    Core: 9.5.x + Environment: PHP 7.3 & PostgreSQL 10.12
    last update 11 months ago
    33 pass
  • πŸ‡¨πŸ‡¦Canada joseph.olstad

    This module has a very nice UI and works well for monolingual implementations, however underneath the prettiness lies a very nasty issue as described in the issue summary that this patch will resolve.

    Bumping this to Critical since it leads to increasing vulnerability to denial of service, also taxes servers unnecessarily and can lead to severe performance issues. Most people who experience this probably think that the problem is Drupal it'self, very hard to diagnose and troubleshoot especially for most people.

    We should just fix the glitch to help others that may be still using this module.

  • πŸ‡¨πŸ‡¦Canada joseph.olstad

    still critical, until this is fixed, use the "Scheduled Transitions" module instead

Production build 0.69.0 2024