Forum Discussion

Justin_48142's avatar
Justin_48142
Icon for Nimbostratus rankNimbostratus
Jan 21, 2008

Issue RAM Caching with 11i Framework

Has anyone run into an issue with RAM Caching on the 11i Framework...specifically when logging into an 11i instance using the AppsLocalLogin.jsp page? We've seen some strange behaviour with this option enabled wherein the following occurs:

 

 

1) User A Logs into the application

 

2) User B Logs into the application

 

3) User A or C Logs into the application and inherits User B's responsibility list

 

4) User A or C selects any self-service responsibility from User B's responsibility list and then they can see their own responsibilities.

 

 

Everything works well if we disable this option.
  • We have encountered the same issue. It seemed to crop up primarily when we enabled SSL acceleration on the F5 for the apps.

     

     

    We first noticed this as pages that should have had links pointing to https, were still pointing to http for some browsers, but not others. Once enough users started kicking into the system, the responsibility list issue started cropping up as well.

     

     

    Disabling RAM Caching completely resolved the problem. I find it troubling that it is in the implementation guide as an "If you have ram caching enabled", but it doesn't seem to work.
  • Don_MacVittie_1's avatar
    Don_MacVittie_1
    Historic F5 Account
    I realize I'm an F5 employee, but this is totally unofficial because I haven't done a ton of research into it. With that said...

     

     

    My understanding is that RAMCache does not maintain per-user status, WebAccelerator does, but RAMCache does not. Assuming my understanding is correct, things like those described in the original post would be expected behavior.

     

     

    Don.
  • You can use a profile to selectively enable/disable caching for certain paths. That way you can disable caching for paths containing per-user content, while still having the benefit of static object caching.

     

    Alternatively you can use an iRule to get clever and can even fake the per-user behaviour by using Vary: User-Agent and rewrite the User-Agent in HTTP_REQUEST to contain user information, and then put it back in HTTP_RESPONSE.

     

    RAM caching works fine - it's just needs to be configured correctly, and depending on your requirements, the configuration may be quite complex.