This discussion is archived
1 2 Previous Next 15 Replies Latest reply: Dec 14, 2012 1:22 AM by 919404 RSS

Session replication in Clustered Env with Apache proxy

919404 Newbie
Currently Being Moderated
Hi,

Setup:
1. Apache proxy configured using mod_proxy
2. Cluster is set up at weblogic with 2 nodes(on same machine)
3. EAR is deployed on cluster with weblogic-application.xml as below

<session-descriptor>
<persistent-store-type>replicated_if_clustered</persistent-store-type>
<sharing-enabled>true</sharing-enabled>
</session-descriptor>

use case:
user1 hits the URL, Apache proxy forwards to node1
user2 hits the URL, Apache proxy forwards to node2

kill the node1 and user1 click on any link, he gets redirected to login page. No failover us happening.

In Node 1 server logs am getting below exception

####<Dec 5, 2012 8:39:21 PM IST> <Error> <Cluster> <Win2k8SRV-01> <win2k8svr-ms1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1354720161810> <BEA-000126> <All session objects should be serializable to replicate. Check the objects in your session. Failed to replicate non-serializable object.
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
     java.lang.ClassNotFoundException: Failed to load class com.presentation.physical.management.form.ApprovalForm
     at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
     at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
     at weblogic.cluster.replication.ReplicationManager_1035_WLStub.create(Unknown Source)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     

Strange thing i noticed is if comment the persistent-store-type attribute in xml file then apache is able to load balance the request between the nodes else all request goes to Node1( from apache logs). Below logs are captured with persistent-store-type set to replicated_if_clustered. Here the JSESSIONID points to server1(port 7003 which is appended to JSESSIONID).

192.168.2.161 - - [05/Dec/2012:20:38:52 +0530] JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; path=/; HttpOnly Test=Test "GET /App/login.jsp?partnerApp=http://192.168.2.161:8080/login.do?method=login HTTP/1.1" 200 13384
192.168.2.161 - - [05/Dec/2012:20:38:55 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1 "POST /App/AppEnv HTTP/1.1" 200 -
192.168.2.161 - - [05/Dec/2012:20:39:14 +0530] APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc; path=/ Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1 "POST /App/login HTTP/1.1" 302 289
192.168.1.220 - - [05/Dec/2012:20:39:14 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:14 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "GET /login.do?method=login HTTP/1.1" 200 2767
192.168.1.220 - - [05/Dec/2012:20:39:20 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "GET /login.do?method=showCorporateLogo HTTP/1.1" 200 11547
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /EkaCommonUtilServlet?method=getUserLocaleDate HTTP/1.1" 200 23
192.168.1.220 - - [05/Dec/2012:20:39:20 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /login.do?method=getMenuData HTTP/1.1" 200 9615
192.168.1.220 - - [05/Dec/2012:20:39:20 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /getUserModuleHomePage.do?method=loadUserHomePageDetails HTTP/1.1" 200 1264
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /ListingHelperServlet?actionId=getUserPref&gridViewName=DEFAULT%20VIEW&gridId=LOC HTTP/1.1" 200 2228
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /ListingHelperServlet?actionId=getUserPref&gridViewName=DEFAULT1%20VIEW&gridId=LOCA HTTP/1.1" 200 3775
192.168.1.220 - - [05/Dec/2012:20:39:20 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /app/commonListing.do?method=getListingData&gridId=LOC HTTP/1.1" 302 309
192.168.1.220 - - [05/Dec/2012:20:39:21 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:20 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /app/contractApprovalList.do?method=loadListOfContractApprovals HTTP/1.1" 302 309
192.168.1.220 - - [05/Dec/2012:20:39:21 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:21 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "GET /private/jsp/AppErrorPage.jsp HTTP/1.1" 200 8042
192.168.1.220 - - [05/Dec/2012:20:39:21 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:21 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "GET /private/jsp/AppErrorPage.jsp HTTP/1.1" 200 8042
192.168.1.220 - - [05/Dec/2012:20:39:24 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:24 +0530] JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; path=/; HttpOnly Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /app/gmcTabHandler.do?method=loadGMCTab&applyDefaultValue=Y&gridId=LOGPF&linkName=Grower_Profile&switchMenu=TabMenu17_1_1 HTTP/1.1" 200 47435
192.168.1.220 - - [05/Dec/2012:20:39:24 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:24 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /getUserModuleHomePage.do?method=saveUserViewportPreference HTTP/1.1" 200 -
192.168.2.161 - - [05/Dec/2012:20:39:25 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /EkaCommonUtilServlet?method=getUserLocaleDate HTTP/1.1" 200 23
192.168.1.220 - - [05/Dec/2012:20:39:25 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.1.220 - - [05/Dec/2012:20:39:25 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:25 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /login.do?method=getMenuData HTTP/1.1" 200 9615
192.168.2.161 - - [05/Dec/2012:20:39:25 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "GET /login.do?method=showCorporateLogo HTTP/1.1" 200 11547
192.168.1.220 - - [05/Dec/2012:20:39:31 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:25 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /app/commonListing.do?method=getCommonListingPage&gridId=LOGPF&setupPage=Y&applyDefaultValue=Y HTTP/1.1" 200 51216
192.168.1.220 - - [05/Dec/2012:20:39:31 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:31 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /commonListing.do?method=getUserViews HTTP/1.1" 200 49
192.168.1.220 - - [05/Dec/2012:20:39:31 +0530] - JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE!1354720133917 "GET /App/validateSession?ssoSessionID=APP-728a8af1-ME5hYqMOkJCcIQc HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:39:31 +0530] - Test=Test; JSESSIONID=1XZxQ1jFxpMhLr8ZSyJdGWLk6Fn2yvWrmc3G6YZpyDBDSZQGQJTn!-1288095560!-1062731300!7003!-1!NONE; APP_SSO_COOKIE=APP-728a8af1-ME5hYqMOkJCcIQc "POST /app/growerProfile.do?method=loadGrowerProfileFilter&gridId=LOGPF HTTP/1.1" 200 46579
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=DMBQQ1QSQfh6HyCMH91P2wXJQVKDQr6hCklqJgbhyYlVdzNT6vQC!1022793105!-1062731300!7004!-1; App=App; App2=App2 "GET / HTTP/1.1" 302 397
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; path=/; HttpOnly Test=Test; JSESSIONID=DMBQQ1QSQfh6HyCMH91P2wXJQVKDQr6hCklqJgbhyYlVdzNT6vQC!1022793105!-1062731300!7004!-1; App=App; App2=App2 "GET /App/login.jsp?partnerApp=http://192.168.2.161:8080/login.do?method=login HTTP/1.1" 200 13384
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/css/styles.css HTTP/1.1" 200 4988
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/ext/resources/css/ext-all.css HTTP/1.1" 200 28527
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/general/tooltip.js HTTP/1.1" 200 12408
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /App/private/js/ForgotPassword.js HTTP/1.1" 200 6003
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/general/AjaxRequest.js HTTP/1.1" 200 4434
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/ext/adapter/ext/ext-base.js HTTP/1.1" 200 12483
192.168.2.161 - - [05/Dec/2012:20:40:04 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/ext/ext-all.js HTTP/1.1" 200 186157
192.168.2.161 - - [05/Dec/2012:20:40:05 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/images/login.gif HTTP/1.1" 200 427
192.168.2.161 - - [05/Dec/2012:20:40:05 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/images/solutions.gif HTTP/1.1" 200 3492
192.168.2.161 - - [05/Dec/2012:20:40:05 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/images/logo.gif HTTP/1.1" 200 1751
192.168.2.161 - - [05/Dec/2012:20:40:05 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "POST /App/AppEnv HTTP/1.1" 200 -
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET / HTTP/1.1" 302 397
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /App/login.jsp?partnerApp=http://192.168.2.161:8080/login.do?method=login HTTP/1.1" 200 13384
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/css/styles.css HTTP/1.1" 200 4988
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/general/AjaxRequest.js HTTP/1.1" 200 4434
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/general/tooltip.js HTTP/1.1" 200 12408
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/ext/resources/css/ext-all.css HTTP/1.1" 200 28527
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /App/private/js/ForgotPassword.js HTTP/1.1" 200 6003
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/ext/adapter/ext/ext-base.js HTTP/1.1" 200 12483
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/js/ext/ext-all.js HTTP/1.1" 200 186157
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/images/login.gif HTTP/1.1" 200 427
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/images/logo.gif HTTP/1.1" 200 1751
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "GET /private/images/solutions.gif HTTP/1.1" 200 3492
192.168.2.161 - - [05/Dec/2012:20:40:46 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "POST /App/AppEnv HTTP/1.1" 200 -
192.168.2.161 - - [05/Dec/2012:20:40:57 +0530] APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp; path=/ Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2 "POST /App/login HTTP/1.1" 302 289
192.168.1.220 - - [05/Dec/2012:20:40:57 +0530] - JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1!1354720204538 "GET /App/validateSession?ssoSessionID=APP-728a8af1-1OOOch71SSRAKYp HTTP/1.1" 200 89
192.168.2.161 - - [05/Dec/2012:20:40:57 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /login.do?method=login HTTP/1.1" 200 2767
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/css/sample.css HTTP/1.1" 200 303
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/css/styles.css HTTP/1.1" 200 4988
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/ext/adapter/ext/ext-base.js HTTP/1.1" 200 12483
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/css/portal.css HTTP/1.1" 200 287
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/css/header.css HTTP/1.1" 200 411
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/ext/resources/css/ext-all.css HTTP/1.1" 200 28527
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/tag/Tag.js HTTP/1.1" 200 3579
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/ext/ext-all.js HTTP/1.1" 200 186157
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/general/ProgressBarPager.js HTTP/1.1" 200 1244
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/general/PanelResizer.js HTTP/1.1" 200 649
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/general/PagingMemoryProxy.js HTTP/1.1" 200 1154
192.168.2.161 - - [05/Dec/2012:20:41:00 +0530] - Test=Test; JSESSIONID=b4GBQ1jMpYQTRTbT213yvj1T13Jm6wnh1VlTz79jJWRkXj88jShg!-1288095560!-1062731300!7003!-1!1586878909!-1062731300!7004!-1; App=App; App2=App2; APP_SSO_COOKIE=APP-728a8af1-1OOOch71SSRAKYp "GET /private/js/general/CalendarPopup.js HTTP/1.1" 200 14572



Let me know if my set up wrong. Do i need to modify any settings related to cluster from console ?

Regards,
Sandeep
  • 1. Re: Session replication in Clustered Env with Apache proxy
    770632 Explorer
    Currently Being Moderated
    You'll need to configure the weblogic apache http server plug-in. mod_wl_22.so along with a weblogic.conf file for your cluster.

    http://docs.oracle.com/cd/E21764_01/web.1111/e16435/apache.htm

    Atul
  • 2. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi Atul,

    Thanks for the reply. I have configured the mod_wl_22.so in apache module. Added the load module directive to load this module. Below is my apache config file

    LoadModule weblogic_module modules/mod_wl_22.so(Also uncommented mod_proxy,mod_proxy_balancer modules)

    <Location />
    SetHandler weblogic-handler
    </Location>

    <IfModule mod_weblogic.c>
    WebLogicCluster 192.168.1.220:7003,192.168.1.220:7004
    DebugConfigInfo ON
    </IfModule>

    ProxyRequests Off
    ProxyPreserveHost on
    LogLevel debug
    <Proxy Balancer://AppCluster>
    BalancerMember http://192.168.1.220:7003
    BalancerMember http://192.168.1.220:7004
    </Proxy>

    <Location />
    ProxyPassReverse Balancer://AppCluster/
    </Location>


    Also it shouldn't be any problem if the settings are done directly on httpd.conf or create weblogic.conf and include it.

    Regards,
    Sandeep

    Edited by: 916401 on Dec 6, 2012 10:37 AM
  • 3. Re: Session replication in Clustered Env with Apache proxy
    Akshay Koul Explorer
    Currently Being Moderated
    Refer:- http://middlewaremagic.com/weblogic/?p=290

    -Akshay
  • 4. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi Akshay,

    I did enable the debug flags by looking at the same URL you suggested. And we are not overriding any cookie name in weblogic.xml.

    Also the post talks about single WAR file deployed and changes to make in weblogic.xml file.

    But in my case i have EAR with 11 WAR files. So did the xml changes in weblogic-application.xml under META-INF folder.

    I'll check for the serialization of data in session.

    Please let me know if my changes are correct. Or do i need to add the persistent store type parameter in weblogic.xml of all WAR's also.


    Thanks,
    Sandeep
  • 5. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi,

    More infor on my setup

    Server nodes
    Apache: 192.168.2.161
    App Server1: 192.168.1.220:7003
    App Server2: 192.168.1.220:7004

    Both App server instance are running in same physical machine. I hope this is not the issue for session replication.

    I tested the multicast message testing using the tool mentioned in the oracle doc and its working fine.

    Regards,
    Sandeep
  • 6. Re: Session replication in Clustered Env with Apache proxy
    968728 Newbie
    Currently Being Moderated
    Sandeep,

    Ensure that all the session objects that you have in the SESSION is serialized.

    This is the cause for the issue that you have mentioned

    *####<Dec 5, 2012 8:39:21 PM IST> <Error> <Cluster> <Win2k8SRV-01> <win2k8svr-ms1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <1354720161810> <BEA-000126> <All session objects should be serializable to replicate. Check the objects in your session. Failed to replicate non-serializable object.*
  • 7. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi,

    Thanks for the reply.
    Now am not getting any exception in logs but am getting below message after enabling the debug logs for replication. When accessing the application

    <BEA-000000> <[roid:185704383470673593] Creating primary for application key /App>
    <BEA-000000> <Has secondary servers? true>
    <Current secondary server? 8970097756806415248S:192.168.1.220:[7111,7111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s1>
    <[roid:185704383470673593] Created secondary on 8970097756806415248S:192.168.1.220:[7111,7111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s1>
    <[roid:185704383470673593] Using Single-Channel for 2-way update()>
    <[roid:185704383470673593] Secondary server 8970097756806415248S:192.168.1.220:[7111,7111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s1>
    <[roid:185704383470673593] Unable to find object for roid:185704383470673593>
    <[roid:185704383470673593] Unable to find object for roid:185704383470673593>
    <[roid:185704383470673593] Unable to find object for roid:185704383470673593>


    On secondry Node am getting

    <[roid:1172843342548427774] Creating secondary for application key /App>
    <Updated local secondary with version 1 from 1172843342548427774S:192.168.1.220:[8111,8111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s2for replication object 1172843342548427774, key /ekaApp, ro = weblogic.servlet.internal.session.ReplicatedSessionData@2b4c2c1a>
    <[roid:1172843342548427774] Found secondary for application key >

    But when i shutdown primary, in primary server logs am getting below message
    ####<Dec 10, 2012 8:35:51 PM IST> <Info> <Cluster> <Win2k8SRV-01> <wlsc1s2> <[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1355151951570> <BEA-000129> *<Removing 8967790673285895554S:192.168.1.220:[7111,7111,-1,-1,-1,-1,-1]*:Domain7001:wlsc1s1 from the cluster.>

    7111 port is my secondary server. That is getting detached from the cluster. I didnt understand this.

    Now when i try to continue my application, it redirects to login page with message on secondary server as below

    <Managed server wlsc1s2 has been suspended or shutdown.>
    <Removing 1172843342548427774S:192.168.1.220:[8111,8111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s2 from the cluster.>
    <Has secondary servers? true>
    <Current secondary server? null>
    <Preferred list : []>
    <Remote list : []>
    <Local list : []>
    <New secondary server is null>
    <[roid:1172843342548427774] Unable to create secondary on null>

    ANy help on these logs.

    Regards,
    Sandeep
  • 8. Re: Session replication in Clustered Env with Apache proxy
    746690 Explorer
    Currently Being Moderated
    First :-

    =============================================================================================
    <BEA-000126> <All session objects should be serializable to replicate. Check the objects in your session. Failed to replicate non-serializable object.
    ==============================================================================================

    for replication session data must be serialized ...

    http://docs.oracle.com/cd/E13222_01/wls/docs90/cluster/failover.html#1022034

    Programming Considerations for Clustered Servlets and JSPs
    ------------------------------------------------------------------------------------

    Programming constraints and recommendations for servlets and JSPs that you will deploy in a clustered environment.

    Session Data Must Be Serializable

    To support in-memory replication of HTTP session states, all servlet and JSP session data must be serializable.

    Note:     Serialization is the process of converting a complex data structure, such as a parallel arrangement of data (in which a number of bits are transmitted at a time along parallel channels) into a serial form (in which one bit at a time is transmitted); a serial interface provides this conversion to enable data transmission.
    -----------------------------------------------------------------------------------------------------------------------------------------------------

    Second :-

    use case:
    user1 hits the URL, Apache proxy forwards to node1
    user2 hits the URL, Apache proxy forwards to node2

    kill the node1 and user1 click on any link, he gets redirected to login page. No failover us happening.

    Means, load balancing happening properly but session replication not.


    try using "replicated" only instead of "replicated_if_clustered"

    Regards
    Mukesh Negi
  • 9. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi Mukesh,

    Thanks for the reply. TO check the session data i took the JSP from http://middlewaremagic.com/weblogic/?p=290 for testing the serialization of session data, modified a little bit and added to all the WAR files to check session data of each WAR file. I could verify that all data in session are serializable.

    While trying the serialization test, i did change the persistence store type to "replicated" but no luck yet.
    But this time i got some replication missed message from server logs.

    Primary server Logs

    <BEA-000118> <Lost 11 replication updates of object 3736767543476998706; update version: 12, current version: 1.>
    <BEA-000000> <[roid:3736767543476998706] Found secondary for application key /app>
    <BEA-000000> <[roid:3736767543476998706] Found secondary for application key >
    <BEA-000000> <[roid:3736767543476998706] Found secondary for application key /ssoApp>
    <BEA-000000> <Updated local secondary with version 18 from 3736767543476998705S:192.168.1.220:[7111,7111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s1for replication object 3736767543476998706, key , ro = weblogic.servlet.internal.session.ReplicatedSessionData@14e52305>
    <BEA-000000> <Updated local secondary with version 19 from 3736767543476998705S:192.168.1.220:[7111,7111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s1for replication object 3736767543476998706, key , ro = weblogic.servlet.internal.session.ReplicatedSessionData@14e52305>

    But in secondary server i got lot of weblogic.cluster.replication.NotFoundException

    <BEA-000000> <Has secondary servers? true>
    <BEA-000000> <Current secondary server? 3054493844538055224S:192.168.1.220:[8111,8111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s2>
    <BEA-000000> <[roid:3736767543476998706] Created secondary on 3054493844538055224S:192.168.1.220:[8111,8111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s2>
    <BEA-000000> <[roid:3736767543476998706] Using Single-Channel for 2-way update()>
    <BEA-000000> <[roid:3736767543476998706] Error updating secondary for 3736767543476998706, key /app, on 3054493844538055224S:192.168.1.220:[8111,8111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s2. Re-creating secondary.
    weblogic.cluster.replication.NotFoundException: Lost 8 updates of 3736767543476998706
         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:223)
         at weblogic.cluster.replication.ReplicationManager_1035_WLStub.update(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:194)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:164)
         at $Proxy359.update(Unknown Source)
         at weblogic.cluster.replication.ReplicationManager.sendUpdateRequestToSecondary(ReplicationManager.java:740)
         at weblogic.cluster.replication.ReplicationManager.updateSecondary(ReplicationManager.java:662)
         at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:639)
         at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(ReplicatedSessionContext.java:85)
         at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2860)
         at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2835)
         at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1485)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1479)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1462)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused By: weblogic.cluster.replication.NotFoundException: Lost 8 updates of 3736767543476998706
         at weblogic.cluster.replication.ReplicationManager.updateInternal(ReplicationManager.java:1143)
         at weblogic.cluster.replication.ReplicationManager.update(ReplicationManager.java:1101)
         at weblogic.cluster.replication.ReplicationManager_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    From http://docs.oracle.com/cd/E28389_01/apirefs.1111/e14397/Cluster.html the exception is thrown if secondary is unable to receive the updates and asking primary to recreate the session state(BEA-000118).

    Am also getting
    <BEA-000000> <[roid:3736767543476998706] Removing secondary for key >
    <BEA-000000> <Removed secondary for roids: 3736767543476998706>
    in primary server logs does this mean primary is creating and deleting the session state on secondary ?

    Am getting below assertion error in primary server logs

    <BEA-080004> <An error was thrown by rmi server: weblogic.cluster.leasing.databaseless.RMIClusterMessageEndPointImpl.process(Lweblogic.cluster.leasing.databaseless.ClusterMessage;)
    java.lang.AssertionError: Invalid state transition from stable_leader to stable.
    java.lang.AssertionError: Invalid state transition from stable_leader to stable
         at weblogic.cluster.leasing.databaseless.ClusterState.setState(ClusterState.java:100)
         at weblogic.cluster.leasing.databaseless.ClusterState.setState(ClusterState.java:59)
         at weblogic.cluster.leasing.databaseless.ClusterMember.handleJoinResponseRequest(ClusterMember.java:224)
         at weblogic.cluster.leasing.databaseless.ClusterMember.process(ClusterMember.java:102)
         at weblogic.cluster.leasing.databaseless.RMIClusterMessageEndPointImpl.process(RMIClusterMessageEndPointImpl.java:30)
         at weblogic.cluster.leasing.databaseless.RMIClusterMessageEndPointImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    >

    After killing the primary and access the application in secondary server am getting unable to create secondary on null logs like below. Am i missing any configuration in setup ?

    <Managed server wlsc1s2 has been suspended or shutdown.>
    <BEA-000129> <Removing 3054493844538055224S:192.168.1.220:[8111,8111,-1,-1,-1,-1,-1]:Domain7001:wlsc1s2 from the cluster.>
    <BEA-000000> <Has secondary servers? true>
    <Current secondary server? null>
    <BEA-000000> <Preferred list : []>
    <BEA-000000> <Remote list : []>
    <BEA-000000> <Local list : []>
    <New secondary server is null>
    <BEA-000000> <Secondary server null>
    <BEA-000000> <Changed the status of 2 objects and it took 59 ms>
    <BEA-000000> <Has secondary servers? true>
    <BEA-000000> <Current secondary server? null>
    <BEA-000000> <Preferred list : []>
    <BEA-000000> <Remote list : []>
    <BEA-000000> <Local list : []>
    <BEA-000000> <New secondary server is null>
    <BEA-000000> <[roid:3054493844538055225] Unable to create secondary on null>
    <BEA-000000> <[roid:3054493844538055225] Unable to create secondary on null>

    Regards,
    sandeep
  • 10. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi,

    Also i wanted to confirm is only the deployment descriptor change, setting persistent store type to "replicated" is needed for HTTP session replication among managed servers in a cluster right (apart from Application side changes like serialization etc)?

    No other setting is required as such from console.

    Just want to confirm the settings.


    Regards,
    Sandeep
  • 11. Re: Session replication in Clustered Env with Apache proxy
    746690 Explorer
    Currently Being Moderated
    Sandeep, test by defining your session descriptor in your web application weblogic.xml file.

    also please confirm if you have defined replication group or not ( under server>configuration > cluster option for each managed server ) ?

    Regards
    Mukesh Negi
    http://weblogicserveradministration.blogspot.in

    Edited by: MukeshNegi on Dec 12, 2012 8:06 AM
  • 12. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Hi Mukesh,

    I have not defined any replication group for managed servers.

    I had issue with caching in application which was not distributed(which i was not aware of). That was the issue. After resolving the caching issue, i added persistent store type as "replicated" in weblogic.xml of all WAR files and also weblogic-application.xml under META_INF folder.

    Now failover is happening. HTTP session replication is happening.

    Thanks everyone for the help.


    Regards,
    Sandeep

    Edited by: 916401 on Dec 14, 2012 11:10 AM
  • 13. Re: Session replication in Clustered Env with Apache proxy
    919404 Newbie
    Currently Being Moderated
    Update,

    With EAR deployment(EAR with multiple WAR files), just adding the persistent store type as "replicated" to weblogic-application.xml will enable the HTTP session replication.
    So not required to add to weblogic.xml file of each WAR.

    Thanks
  • 14. Re: Session replication in Clustered Env with Apache proxy
    746690 Explorer
    Currently Being Moderated
    Glad to know that issues resolved.

    "I had issue with caching in application which was not distributed(which i was not aware of). That was the issue. After resolving the caching issue"

    Could you please explain what steps exactly you did in your application ? this would help other guys also.

    Thank You
    Mukesh Negi
1 2 Previous Next

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points