Hi list,
I am working on a project with i18n objects and action cache. We're
also using doctrine as an ORM.
While action cache completely wipes out db requests issued from the
action, I have an unwanted request issued from the view layer on a
i18n table *only on cache hit*.
This is very strange, and I think this is a (Symfony | Doctrine) bug
related to I18n.
Here are the logs :
- First request on a page (after a "symfony cc") :
Aug 24 15:54:06 symfony [info] {sfContext} initialization
Aug 24 15:54:06 symfony [info] {sfController} initialization
Aug 24 15:54:06 symfony [info] {sfRouting} match route
[document_by_id_lang] "/:module/:id/:lang"
Aug 24 15:54:06 symfony [info] {sfRequest} request parameters array
( 'module' => 'articles', 'id' => '22', 'lang' => 'fr', 'action'
=> 'view',)
Aug 24 15:54:06 symfony [info] {sfRouting} connect "/
sf_cache_partial/:module/:action/:sf_cache_key"
Aug 24 15:54:06 symfony [info] {sfController} dispatch request
Aug 24 15:54:06 symfony [info] {sfFilter} executing filter
"sfRenderingFilter"
Aug 24 15:54:06 symfony [info] {sfFilter} executing filter
"sfWebDebugFilter"
Aug 24 15:54:06 symfony [info] {sfFilter} executing filter
"sfCacheFilter"
Aug 24 15:54:06 symfony [info] {sfViewCacheManager} cache for
"articles/view?id=22&lang=fr" does not exist
Aug 24 15:54:06 symfony [info] {sfFilter} executing filter
"sfCommonFilter"
Aug 24 15:54:06 symfony [info] {sfFilter} executing filter
"sfFlashFilter"
Aug 24 15:54:06 symfony [info] {sfFilter} executing filter
"sfExecutionFilter"
Aug 24 15:54:06 symfony [info] {sfAction} call "articlesActions-
>executeView()"
Aug 24 15:54:06 symfony [info] {sfDoctrine Pre-execute} prepareQuery :
SELECT a.id AS a__id, a.is_protected AS a__is_protected,
a.redirects_to AS a__redirects_to, a.module AS a__module, a.lon AS
a__lon, a.lat AS a__lat, a.elevation AS a__elevation, a.v4_id AS
a__v4_id, a.geom_wkt AS a__geom_wkt, a.categories AS a__categories,
a.activities AS a__activities, a.article_type AS a__article_type FROM
articles a WHERE id = ?
Aug 24 15:54:06 symfony [info] {sfDoctrine Pre-execute} executeQuery :
SELECT a.id AS a__id, a.is_protected AS a__is_protected,
a.redirects_to AS a__redirects_to, a.module AS a__module, a.lon AS
a__lon, a.lat AS a__lat, a.elevation AS a__elevation, a.v4_id AS
a__v4_id, a.geom_wkt AS a__geom_wkt, a.categories AS a__categories,
a.activities AS a__activities, a.article_type AS a__article_type FROM
articles a WHERE id = ? - (22 )
Aug 24 15:54:06 symfony [info] {sfDoctrine Pre-execute} prepareQuery :
SELECT a.id AS a__id, a.culture AS a__culture, a.name AS a__name,
a.description AS a__description, a.abstract AS a__abstract FROM
articles_i18n a WHERE a.id IN (?)
Aug 24 15:54:06 symfony [info] {sfDoctrine Pre-execute} executeQuery :
SELECT a.id AS a__id, a.culture AS a__culture, a.name AS a__name,
a.description AS a__description, a.abstract AS a__abstract FROM
articles_i18n a WHERE a.id IN (?) - (22 )
Aug 24 15:54:06 symfony [info] {sfView} initialize view for "articles/
view"
Aug 24 15:54:06 symfony [info] {sfView} render "/myproject/apps/
frontend/modules/articles/templates/viewSuccess.php"
Aug 24 15:54:06 symfony [info] {sfView} decorate content with "/
myproject/apps/frontend/templates/layout.php"
Aug 24 15:54:06 symfony [info] {sfView} render "/myproject/apps/
frontend/templates/layout.php"
Aug 24 15:54:06 symfony [info] {sfViewCacheManager} save cache for
"articles/view?id=22&lang=fr"
Aug 24 15:54:06 symfony [info] {sfFilter} render to client
At this step, the action cache works, and I get a cache file: cache/
frontend/dev/template/server/all/frontend_dev.php/articles/22/fr.cache
- Second request to the same page :
Aug 24 15:54:14 symfony [info] {sfContext} initialization
Aug 24 15:54:14 symfony [info] {sfController} initialization
Aug 24 15:54:14 symfony [info] {sfRouting} match route
[document_by_id_lang] "/:module/:id/:lang"
Aug 24 15:54:14 symfony [info] {sfRequest} request parameters array
( 'module' => 'articles', 'id' => '22', 'lang' => 'fr', 'action'
=> 'view',)
Aug 24 15:54:14 symfony [info] {sfRouting} connect "/
sf_cache_partial/:module/:action/:sf_cache_key"
Aug 24 15:54:14 symfony [info] {sfController} dispatch request
Aug 24 15:54:14 symfony [info] {sfFilter} executing filter
"sfRenderingFilter"
Aug 24 15:54:14 symfony [info] {sfFilter} executing filter
"sfWebDebugFilter"
Aug 24 15:54:14 symfony [info] {sfFilter} executing filter
"sfCacheFilter"
Aug 24 15:54:14 symfony [info] {sfViewCacheManager} cache for
"articles/view?id=22&lang=fr" exists
Aug 24 15:54:14 symfony [info] {sfFilter} executing filter
"sfCommonFilter"
Aug 24 15:54:14 symfony [info] {sfFilter} executing filter
"sfFlashFilter"
Aug 24 15:54:14 symfony [info] {sfFilter} executing filter
"sfExecutionFilter"
Aug 24 15:54:14 symfony [info] {sfView} initialize view for "articles/
view"
Aug 24 15:54:14 symfony [info] {sfView} decorate content with "/
myproject/apps/frontend/templates/layout.php"
Aug 24 15:54:14 symfony [info] {sfView} render "/myproject/apps/
frontend/templates/layout.php"
Aug 24 15:54:14 symfony [info] {sfDoctrine Pre-execute} prepareQuery :
SELECT a.id AS a__id, a.culture AS a__culture, a.name AS a__name,
a.description AS a__description, a.abstract AS a__abstract FROM
articles_i18n a WHERE a.id IN (?)
Aug 24 15:54:14 symfony [info] {sfDoctrine Pre-execute} executeQuery :
SELECT a.id AS a__id, a.culture AS a__culture, a.name AS a__name,
a.description AS a__description, a.abstract AS a__abstract FROM
articles_i18n a WHERE a.id IN (?) - (22 )
Aug 24 15:54:14 symfony [info] {sfFilter} render to client
At this point, you may ask : what's inside layout.php ?
Well, for debug purposes, I commented every PHP line, including the
one loading the content :
echo $sf_data->getRaw('sf_content')
So, it's basically just static HTML to render.
Someone's got a clue ?
Thank's,
F.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---