6.0.0-beta1
7/18/25

[#12615] Horde_Date: Limit recurrence interval to a sane value
Summary Horde_Date: Limit recurrence interval to a sane value
Queue Horde Framework Packages
Queue Version Git master
Type Bug
State Resolved
Priority 2. Medium
Owners jan (at) horde (dot) org
Requester thomas.jarosch (at) intra2net (dot) com
Created 08/25/2013 (4345 days ago)
Due
Updated 12/17/2013 (4231 days ago)
Assigned 09/02/2013 (4337 days ago)
Resolved 09/03/2013 (4336 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
12/17/2013 11:35:14 AM Git Commit Comment #4 Reply to this comment
Changes have been made in Git (master):

commit 21d63ac2bad450ec1c248ea8f4886bf418010d26
Author: Jan Schneider <jan@horde.org>
Date:   Tue Sep 3 17:49:34 2013 +0200

     [jan] Correct dates with very large days-of-month more 
efficiently (Bug #12615).

  framework/Date/lib/Horde/Date.php           |   11 +++++++++++
  framework/Date/package.xml                  |    2 ++
  framework/Date/test/Horde/Date/DateTest.php |    3 +++
  3 files changed, 16 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/21d63ac2bad450ec1c248ea8f4886bf418010d26
09/03/2013 03:50:55 PM Jan Schneider Deleted Original Message
 
09/03/2013 03:50:48 PM Jan Schneider Assigned to Jan Schneider
State ⇒ Resolved
Patch ⇒ No
 
09/03/2013 03:50:30 PM Git Commit Comment #3 Reply to this comment
Changes have been made in Git (master):

commit 51381ff61c45b500dd50add91317e543da2acaa0
Author: Jan Schneider <jan@horde.org>
Date:   Tue Sep 3 17:49:34 2013 +0200

     [jan] Correct dates with very large days-of-month more 
efficiently (Bug #12615).

  framework/Date/lib/Horde/Date.php           |   11 +++++++++++
  framework/Date/package.xml                  |    2 ++
  framework/Date/test/Horde/Date/DateTest.php |    3 +++
  3 files changed, 16 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/51381ff61c45b500dd50add91317e543da2acaa0
09/02/2013 11:08:08 PM Michael Rubinsky Comment #2
State ⇒ Feedback
Reply to this comment
I'm not sure that silently (from the user's point of view) changing 
the interval to the arbitrarily chosen limit is the best way to go. 
The user will not know this has occured unless he examines the event 
after creating it.

Also, I'm not sure we want to enforce an arbitrary limit in the 
library itself. Next to impossible, but you never know, somebody may 
have a legitimate reason to use Horde_Date by itself to calculate this.

What about imposing the limit in the client code, and not allowing the 
event to be created if it exceeds some (configurable?) interval limit?
08/25/2013 12:34:29 PM Thomas Jarosch Summary ⇒ Horde_Date: Limit recurrence interval to a sane value
Patch ⇒ Yes
New Attachment: 0001-Limit-recurrence-interval-to-a-sane-value.patch
 
08/25/2013 12:30:03 PM Thomas Jarosch Comment #1
Priority ⇒ 2. Medium
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Horde_Date: Limit recurrence interval to sane values
Type ⇒ Bug
Reply to this comment
Hi,

during productive testing I found one calendar kronolith was unable to load,
CPU and RAM usage grew quickly.

I've isolated the "offending" event and noticed a daily recurrence
with an insane recurrence interval was the root cause.

I'll attach a patch to limit the recurrence interval to sane values.
Without the patch I can easily generate recurrences
that consume 150mb memory and run for ages.

Note: Setting recurEnd() or recurCount() does not help,
therefore we have to limit the interval even if an recurEnd date is given.

Thomas

Saved Queries