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
-~----------~----~----~----~------~----~------~--~---

Reply via email to