[koha-commits] main Koha release repository branch master updated. v3.14.00-107-gaca1f5f
Git repo owner
gitmaster at git.koha-community.org
Tue Dec 10 19:10:20 CET 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "main Koha release repository".
The branch, master has been updated
via aca1f5f6a9c5fb58e62ab060c272eadc287bb167 (commit)
via 08c47cbfe2517ef36b15a16a94227b854be5eeb9 (commit)
via a98b239dbfbf0d0e9c6f6593c3457c18c79584a9 (commit)
from 2e0e15485ecae556b77037443af1077291fe3673 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit aca1f5f6a9c5fb58e62ab060c272eadc287bb167
Author: Galen Charlton <gmc at esilibrary.com>
Date: Tue Dec 10 18:21:09 2013 +0000
Bug 11112: (follow-up) add FIXME
The caching introduced by the main patch is not ideal
as it won't work correctly if a persistance engine is used.
However, I have good reason to expect that bug 8089 will
be worked on (because I'm going to do it) so that Koha::Cache
can be used for this prior to the release of 3.16.
Signed-off-by: Galen Charlton <gmc at esilibrary.com>
commit 08c47cbfe2517ef36b15a16a94227b854be5eeb9
Author: Galen Charlton <gmc at esilibrary.com>
Date: Tue Dec 10 18:11:37 2013 +0000
Bug 11112: (follow-up) repair Koha::Calendar->add_holiday()
This patch ensures that the package-level cache is updated
when add_holiday() is used. Note that except for the test
case added by this patch, there doesn't seem to be anything
that actually calls ->add_holiday(); it may be better to remove it.
Signed-off-by: Galen Charlton <gmc at esilibrary.com>
commit a98b239dbfbf0d0e9c6f6593c3457c18c79584a9
Author: Jonathan Druart <jonathan.druart at biblibre.com>
Date: Wed Oct 16 15:36:30 2013 +0200
Bug 11112: Koha::Calendar needs some caching
Each time a Koha::Calendar object is created, its constructor retrieves
all holidays from the database and create a DateTime::Set object with
all holidays.
[RM note: I've observed that the time it takes DateTime::Set to be
initialized with a set of dates increases faster than linearly with
the number of dates. I think this, more than just retrieving a bunch
of holidays from the database, is what is most expensive.]
In one of our customer's DB, there are 11085 special_holidays and 598
repeatable_holidays. When a loan is returned, there are 3 calls to
Koha::Calendar->new.
This patch adds caching of the holiday list via package-level variables
as well as lazy fetching of the holidays. (RM note: this means that if
a persistance engine is in use, updates to the holiday list will not
be reflected during checkout. I'm allowing this breakage for now on
the plan that bug 8089 will be fixed soon and we can switch to using
Koha::Cache).
Nytprof benchmarks (on a 3.8.x branch):
In DateTime::Set->from_datetimes:
3 times (5.49ms+4.90s) by Koha::Calendar::_init at line 80 of Koha/Calendar.pm, avg 1.63s/call
on a total of 7.67s (of 10.2s), executing 6353333 statements and 3031273 subroutine calls in 147 source files and 36 string evals.
for the circulation/return.pl page.
Comparing the access_log:
Without the patch:
checkout: time=2759838
checkin: time=1832751
Without the patch and with overdues:
checkout: time=1086727 + time=1144706
checkin: time=3928854 (x2)
With the patch and overdues:
checkout: time=1077839 + time=1060886
checkin: time=2420898
Test plan:
- checkout an item with a return date < today
- checkin the item and verify the suspension period is well calculated
(depending on the holidays).
- prove t/db_dependent/Holidays.t
- t/Calendar.t
Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan at bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc at esilibrary.com>
-----------------------------------------------------------------------
Summary of changes:
Koha/Calendar.pm | 46 +++++++++++++++++++++++++++++++++++++--------
t/db_dependent/Holidays.t | 12 +++++++++++-
2 files changed, 49 insertions(+), 9 deletions(-)
hooks/post-receive
--
main Koha release repository
More information about the koha-commits
mailing list