[richfaces-issues] [JBoss JIRA] (RF-11992) cache bug in portlet

Ivan Ravin (JIRA) jira-events at lists.jboss.org
Mon Feb 20 03:44:36 EST 2012


     [ https://issues.jboss.org/browse/RF-11992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Ravin updated RF-11992:
----------------------------

        Description: 
On Jboss and Gatein portal richfaces cant be cached when user is logged in.
Bug is found for richfaces 3.3.3 but i think can be reproduced for 4.x because org.richfaces.resource.AbstractCacheableResource has similar code.

The steps for reproduce bug are:

    download portlet bridge 2.2 archive
    deploy richFacesPortlet.war from portlet bridge archive (i used jboss portal 2.7.2 bundle and GateIn-3.1.0-FINAL-jbossas)
    look at network activity (i did with firefox + firebug, the same result on any other browser). Just open page with richfaces portlet.

When user is not logged in, all richfaces resources are caching well, and this is headers returned by server:

|Cache-Control	|max-age=86400|
|Content-Type	|text/javascript|
|Date	|Thu, 26 Jan 2012 17:57:39 GMT|
|Expires	|27 Jan 2012 17:57:39 GMT|
|Last-Modified	|26 Jan 2012 17:42:17 GMT|
|Server	|Apache-Coyote/1.1|
|X-Powered-By	|Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0|

But when user is logged in all richfaces stuff come from network every time (more than 1.3 mb).
This is headers returned by portal 2.7.2 when user logged in:

|Cache-Control	|{color:red}no-cache,{color} max-age=86400|
|Content-Type	|text/javascript|
|Date	|Thu, 26 Jan 2012 18:26:49 GMT|
|Expires	|{color:red}Thu, 01 Jan 1970 03:00:00 MSK,{color} 27 Jan 2012 18:26:49 GMT|
|Last-Modified	|26 Jan 2012 18:05:56 GMT|
|{color:red}Pragma{color}	|{color:red}No-cache{color}|
|Server	|Apache-Coyote/1.1|
|Transfer-Encoding	|chunked|
|X-Powered-By	|Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0|


The same problem with GateIn-3.1.0-FINAL-jbossas bundle, but now only one wrong header:

|Cache-Control	|max-age=86400|
|Content-Type	|text/javascript;charset=UTF-8|
|Date	|Sat, 28 Jan 2012 08:54:14 GMT|
|Expires	|29 Jan 2012 08:54:14 GMT|
|Last-Modified	|28 Jan 2012 08:51:11 GMT|
|{color:red}Pragma{color}	|{color:red}No-cache{color}|
|Server	|Apache-Coyote/1.1|
|Transfer-Encoding	|chunked|
|X-Powered-By	|Servlet 2.5; JBoss-5.0/JBossWeb-2.1|


This header (Pragma) appears only when user is logged in, and again, all richfaces resources come through network.

I did some debug and found that richfaces create good headers, but there is some code in portal which put wrong values into real response before richfaces. I cant find this code in portal sources, so maybe it is JBoss AS problem, or third party component.

Gatein portal overwrite 2 wrong headers with values provided by richfaces, but "pragma" header is absent in richfaces response, and this way in secured portlets richfaces generate too much unnesessary traffic.


  was:
On Jboss and Gatein portal richfaces cant be cached when user is logged in.
Bug is found for richfaces 3.3.3 but i think can be reproduced for 4.x because org.richfaces.resource.AbstractCacheableResource has similar code.

The steps for reproduce bug are:

    download portlet bridge 2.2 archive
    deploy richFacesPortlet.war from portlet bridge archive (i used jboss portal 2.7.2 bundle and GateIn-3.1.0-FINAL-jbossas)
    look at network activity (i did with firefox + firebug, the same result on any other browser). Just open page with richfaces portlet.

When user is not logged in, all richfaces resources are caching well, and this is headers returned by server:

|Cache-Control	|max-age=86400|
|Content-Type	|text/javascript|
|Date	|Thu, 26 Jan 2012 17:57:39 GMT|
|Expires	|27 Jan 2012 17:57:39 GMT|
|Last-Modified	|26 Jan 2012 17:42:17 GMT|
|Server	|Apache-Coyote/1.1|
|X-Powered-By	|Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0|

But when user is logged in all richfaces stuff come from network every time (more than 1.3 mb).
This is headers returned by portal 2.7.2 when user logged in:

|Cache-Control	|{color:red}no-cache,{color} max-age=86400|
|Content-Type	|text/javascript|
|Date	|Thu, 26 Jan 2012 18:26:49 GMT|
|Expires	|{color:red}Thu, 01 Jan 1970 03:00:00 MSK,{color} 27 Jan 2012 18:26:49 GMT|
|Last-Modified	|26 Jan 2012 18:05:56 GMT|
|{color:red}Pragma{color}	|{color:red}No-cache{color}|
|Server	|Apache-Coyote/1.1|
|Transfer-Encoding	|chunked|
|X-Powered-By	|Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0|


The same problem with GateIn-3.1.0-FINAL-jbossas bundle, but now only one wrong header:

|Cache-Control	|max-age=86400|
|Content-Type	|text/javascript;charset=UTF-8|
|Date	|Sat, 28 Jan 2012 08:54:14 GMT|
|Expires	|29 Jan 2012 08:54:14 GMT|
|Last-Modified	|28 Jan 2012 08:51:11 GMT|
|{color:red}Pragma{color}	|{color:red}No-cache{color}|
|Server	|Apache-Coyote/1.1|
|Transfer-Encoding	|chunked|
|X-Powered-By	|Servlet 2.5; JBoss-5.0/JBossWeb-2.1|


This header (Pragma) appears only when user is logged in, and again, all richfaces resources come through network.

I did some debug and found that bridge create good headers, but there is some code in portal which put wrong values into real response before richfaces. I cant find this code in portal sources, so maybe it is JBoss AS problem, or third party component.

Gatein portal overwrite 2 wrong headers with values provided by richfaces, but "pragma" header is absent in richfaces response, and this way in secured portlets richfaces generate too much unnesessary traffic.


    Forum Reference: https://community.jboss.org/thread/178136?tstart=150  (was: https://community.jboss.org/thread/178136?tstart=150)

    
> cache bug in portlet
> --------------------
>
>                 Key: RF-11992
>                 URL: https://issues.jboss.org/browse/RF-11992
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 3.3.3.Final, 4.2.0.CR1
>         Environment: jboss portal 2.7.2; Gatein portal
>            Reporter: Ivan Ravin
>            Priority: Minor
>
> On Jboss and Gatein portal richfaces cant be cached when user is logged in.
> Bug is found for richfaces 3.3.3 but i think can be reproduced for 4.x because org.richfaces.resource.AbstractCacheableResource has similar code.
> The steps for reproduce bug are:
>     download portlet bridge 2.2 archive
>     deploy richFacesPortlet.war from portlet bridge archive (i used jboss portal 2.7.2 bundle and GateIn-3.1.0-FINAL-jbossas)
>     look at network activity (i did with firefox + firebug, the same result on any other browser). Just open page with richfaces portlet.
> When user is not logged in, all richfaces resources are caching well, and this is headers returned by server:
> |Cache-Control	|max-age=86400|
> |Content-Type	|text/javascript|
> |Date	|Thu, 26 Jan 2012 17:57:39 GMT|
> |Expires	|27 Jan 2012 17:57:39 GMT|
> |Last-Modified	|26 Jan 2012 17:42:17 GMT|
> |Server	|Apache-Coyote/1.1|
> |X-Powered-By	|Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0|
> But when user is logged in all richfaces stuff come from network every time (more than 1.3 mb).
> This is headers returned by portal 2.7.2 when user logged in:
> |Cache-Control	|{color:red}no-cache,{color} max-age=86400|
> |Content-Type	|text/javascript|
> |Date	|Thu, 26 Jan 2012 18:26:49 GMT|
> |Expires	|{color:red}Thu, 01 Jan 1970 03:00:00 MSK,{color} 27 Jan 2012 18:26:49 GMT|
> |Last-Modified	|26 Jan 2012 18:05:56 GMT|
> |{color:red}Pragma{color}	|{color:red}No-cache{color}|
> |Server	|Apache-Coyote/1.1|
> |Transfer-Encoding	|chunked|
> |X-Powered-By	|Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0|
> The same problem with GateIn-3.1.0-FINAL-jbossas bundle, but now only one wrong header:
> |Cache-Control	|max-age=86400|
> |Content-Type	|text/javascript;charset=UTF-8|
> |Date	|Sat, 28 Jan 2012 08:54:14 GMT|
> |Expires	|29 Jan 2012 08:54:14 GMT|
> |Last-Modified	|28 Jan 2012 08:51:11 GMT|
> |{color:red}Pragma{color}	|{color:red}No-cache{color}|
> |Server	|Apache-Coyote/1.1|
> |Transfer-Encoding	|chunked|
> |X-Powered-By	|Servlet 2.5; JBoss-5.0/JBossWeb-2.1|
> This header (Pragma) appears only when user is logged in, and again, all richfaces resources come through network.
> I did some debug and found that richfaces create good headers, but there is some code in portal which put wrong values into real response before richfaces. I cant find this code in portal sources, so maybe it is JBoss AS problem, or third party component.
> Gatein portal overwrite 2 wrong headers with values provided by richfaces, but "pragma" header is absent in richfaces response, and this way in secured portlets richfaces generate too much unnesessary traffic.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the richfaces-issues mailing list