Hi,

On Sat, May 5, 2012 at 7:18 AM, Amila Jayasekara <[email protected]> wrote:

> Hi All,
>
> Guess I need some help in understanding the real cause for issue
> CARBON-12902 [3]. The issue can be easily re-producible in IS, Carbon
> and ESB with following steps,
>
> 1. Start server
> 2. Login to management console
> 3. Restart the server without closing browser
> 4. Try to access a link in management console.
>
> In back-end logs you will see "System failed to authorise" error log.
> But this error is not re-producible in AS. The cause for  "System
> failed to authorise" error log is server not able to retrieve the
> realm for user. The realm is retrieved from the CarbonContext. Thus
> the code which retrieves CarbonContext is in [1].
>
> According to [1] once we received the CarbonContext, it is stored in
> the session. But we do not expect CarbonContext to be persisted as a
> session property. Also CarbonContext and other relevant classes are
> not serializable. After a server restart the CarbonContext is found in
> the session for IS, Carbon and ESB servers. But the CarbonContext
> object is not valid (In the sense it does not contain required
> attributes etc ... hence it leads to issue in [3]). Thus CarbonContext
> is not there in the session for AS server (after a restart).
>
> Therefore above mentioned issue does not occur for AS server but can
> experience for other servers.
>
> First of all I cant find a proper reason why this behaviour is
> appearing in other server but not in AS. Isusru/Azeez any feedback on
> this ?
>
> Ideally we do not expect CarbonContext to be persisted during session
> persistence. Is there a tomcat specific configuration where we can set
> so that non-serializable classes are not persisted during session
> persistence ? I found "<distributable />" configuration in web.xml,
> but it didnt work for me [2].
>

"distributable" attribute seems to be related to default manager in tomcat.
AFAIU we do not depend on tomcat manager in carbon.

thanks,

>
> Thank you
> AmilaJ
>
>
> [1]
>   private static CarbonContextHolder
> getCurrentCarbonContextHolder(HttpSession httpSession,
>
> boolean addToSession) {
>        Object contextObject =
> httpSession.getAttribute(CARBON_CONTEXT_HOLDER);
>        if (contextObject != null) {
>            return (CarbonContextHolder) contextObject;
>        } else if (!addToSession) {
>            return null;
>        }
>        CarbonContextHolder context = getClone();
>        log.debug("Added CarbonContext to the HTTP Session");
>        httpSession.setAttribute(CARBON_CONTEXT_HOLDER, context);
>        return context;
>    }
>
> [2]
> http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html#Persistence_Across_Restarts
> [3] https://wso2.org/jira/browse/CARBON-12902
>
> --
> Mobile : +94773330538
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>



-- 
Supun Malinga,

Software Engineer,
WSO2 Inc.
http://wso2.com
http://wso2.org
email - [email protected] <[email protected]>
mobile - 071 56 91 321
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to