6.0.0-alpha12
6/8/25

[#10796] Horde_Autoloader_Cache stores Dates
Summary Horde_Autoloader_Cache stores Dates
Queue Horde Framework Packages
Queue Version Git master
Type Enhancement
State Rejected
Priority 1. Low
Owners
Requester michael (at) bigmichi1 (dot) de
Created 11/23/2011 (4946 days ago)
Due
Updated 11/23/2011 (4946 days ago)
Assigned
Resolved 11/23/2011 (4946 days ago)
Milestone
Patch No

History
11/23/2011 11:24:11 AM Jan Schneider Comment #4
State ⇒ Rejected
Reply to this comment
You are running the PHP version where is_a() triggers autoloading. 
Good news is, you benefit even more from the cached autoloader than 
others.
11/23/2011 11:06:21 AM michael (at) bigmichi1 (dot) de Comment #3 Reply to this comment

#0  Horde_Autoloader_Cache->mapToPath(2011-05-08) called at 
[/var/www/pear/php/Horde/Autoloader.php:20]
#1  Horde_Autoloader->loadClass(2011-05-08)
#2  spl_autoload_call(2011-05-08)
#3  is_a(2011-05-08, Date) called at 
[/var/www/pear/php/Date/Holidays/Driver.php:880]
#4  Date_Holidays_Driver->_addHoliday(endOfWWar2, 2011-05-08, End of 
World War 2 in Germany) called at 
[/var/www/pear/php/Date/Holidays/Driver/Germany.php:205]
#5  Date_Holidays_Driver_Germany->_buildHolidays() called at 
[/var/www/pear/php/Date/Holidays/Driver.php:252]
#6  Date_Holidays_Driver->setYear(2011) called at 
[/var/www/pear/php/Date/Holidays.php:149]
#7  Date_Holidays->factory(Germany, 2011, de_DE) called at 
[/var/www/horde4/kronolith/lib/Driver/Holidays.php:72]
#8  Kronolith_Driver_Holidays->listEvents(Horde_Date Object ([] => 
2011,[] => 11,[] => 21,[] => 0,[] => 0,[] => 0,[] => Europe/Berlin,[] 
=> Y-m-d H:i:s,[] => Array ()), Horde_Date Object ([] => 2011,[] => 
11,[] => 28,[] => 0,[] => 0,[] => 0,[] => Europe/Berlin,[] => Y-m-d 
H:i:s,[] => Array ()), 1) called at 
[/var/www/horde4/kronolith/lib/Kronolith.php:489]
#9  Kronolith::listEvents(Horde_Date Object ([] => 2011,[] => 11,[] => 
21,[] => 0,[] => 0,[] => 0,[] => Europe/Berlin,[] => Y-m-d H:i:s,[] => 
Array ()), Horde_Date Object ([] => 2011,[] => 11,[] => 28,[] => 0,[] 
=> 0,[] => 0,[] => Europe/Berlin,[] => Y-m-d H:i:s,[] => Array ())) 
called at [/var/www/horde4/kronolith/lib/View/Week.php:73]
#10 Kronolith_View_Week->__construct(Horde_Date Object ([] => 2011,[] 
=> 11,[] => 23,[] => 11,[] => 59,[] => 3,[] => Europe/Berlin,[] => 
Y-m-d H:i:s,[] => Array ([W] => 47))) called at 
[/var/www/horde4/kronolith/lib/Kronolith.php:2994]
#11 Kronolith::getView(Week) called at [/var/www/horde4/kronolith/week.php:19]
#12 include(/var/www/horde4/kronolith/week.php) called at 
[/var/www/horde4/kronolith/index.php:27]


#0  Horde_Autoloader_Cache->mapToPath(2011-05-08) called at 
[/var/www/pear/php/Horde/Autoloader.php:20]
#1  Horde_Autoloader->loadClass(2011-05-08)
#2  spl_autoload_call(2011-05-08)
#3  is_a(2011-05-08, Date) called at [/var/www/pear/php/Date.php:460]
#4  Date->Date(2011-05-08) called at 
[/var/www/pear/php/Date/Holidays/Driver.php:881]
#5  Date_Holidays_Driver->_addHoliday(endOfWWar2, 2011-05-08, End of 
World War 2 in Germany) called at 
[/var/www/pear/php/Date/Holidays/Driver/Germany.php:205]
#6  Date_Holidays_Driver_Germany->_buildHolidays() called at 
[/var/www/pear/php/Date/Holidays/Driver.php:252]
#7  Date_Holidays_Driver->setYear(2011) called at 
[/var/www/pear/php/Date/Holidays.php:149]
#8  Date_Holidays->factory(Germany, 2011, de_DE) called at 
[/var/www/horde4/kronolith/lib/Driver/Holidays.php:72]
#9  Kronolith_Driver_Holidays->listEvents(Horde_Date Object ([] => 
2011,[] => 11,[] => 21,[] => 0,[] => 0,[] => 0,[] => Europe/Berlin,[] 
=> Y-m-d H:i:s,[] => Array ()), Horde_Date Object ([] => 2011,[] => 
11,[] => 28,[] => 0,[] => 0,[] => 0,[] => Europe/Berlin,[] => Y-m-d 
H:i:s,[] => Array ()), 1) called at 
[/var/www/horde4/kronolith/lib/Kronolith.php:489]
#10 Kronolith::listEvents(Horde_Date Object ([] => 2011,[] => 11,[] => 
21,[] => 0,[] => 0,[] => 0,[] => Europe/Berlin,[] => Y-m-d H:i:s,[] => 
Array ()), Horde_Date Object ([] => 2011,[] => 11,[] => 28,[] => 0,[] 
=> 0,[] => 0,[] => Europe/Berlin,[] => Y-m-d H:i:s,[] => Array ())) 
called at [/var/www/horde4/kronolith/lib/View/Week.php:73]
#11 Kronolith_View_Week->__construct(Horde_Date Object ([] => 2011,[] 
=> 11,[] => 23,[] => 11,[] => 59,[] => 3,[] => Europe/Berlin,[] => 
Y-m-d H:i:s,[] => Array ([W] => 47))) called at 
[/var/www/horde4/kronolith/lib/Kronolith.php:2994]
#12 Kronolith::getView(Week) called at [/var/www/horde4/kronolith/week.php:19]
#13 include(/var/www/horde4/kronolith/week.php) called at 
[/var/www/horde4/kronolith/index.php:27]
11/23/2011 09:53:18 AM Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
I don't see those here. You need to find out where those class 
requests are coming from.
11/23/2011 09:35:12 AM michael (at) bigmichi1 (dot) de Comment #1
Priority ⇒ 1. Low
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Horde_Autoloader_Cache stores Dates
Type ⇒ Enhancement
State ⇒ New
Reply to this comment
i tried the new Autoloader_Cache with my configured xcache-backend 
wich increased the performance dramatically.
i looked in the xcache admin panel what information is stored in the 
variable and there i see a lot of date entries:


Kronolith_Event_Ical' => 
'/var/www/horde4/lib/../kronolith/lib/Event/Ical.php',
   'Horde_Icalendar_Exception' => 
'/var/www/pear/php/Horde/Icalendar/Exception.php',
   'Kronolith_Driver_Holidays' => 
'/var/www/horde4/lib/../kronolith/lib/Driver/Holidays.php',
   'Date_Holidays_Driver_Germany' => 
'/var/www/pear/php/Date/Holidays/Driver/Germany.php',
   '2011-01-01' => NULL,
   '2011-01-06' => NULL,
   '2011-02-02' => NULL,
   '2011-03-19' => NULL,
   '2011-03-25' => NULL,
   '2011-05-31' => NULL,
   '2011-06-24' => NULL,
   '2011-06-29' => NULL,

perhaps there is a bug in some application that tries to map dates to 
php files !?! or these shouldn't be stored in the autoloader cache, 
because so the cache is polluted with those entries

Saved Queries