Replicating a session to a server joining the cluster
It is my understanding that session data is replicated only during calls to HttpSession.setAttribute() and HttpSession.removeAttribute(). If a user has established a session on server A (secondary on server B) and server B goes down, then an incomplete secondary is created on some other server. If server A fails before this user accidentally causes all of the session data to be replicated, then some requests to the new managed server will work and some will not creating eratic errors.
Yes the replication behaviour in 6.x is different from 51
"I believe that we "lazily" replicate sessions in 6.x - that is, until you
access the session,
it is not replicated.
The reason for this is performance. Imagine if node1 had thousands of
sessions when node2
was down. If we did not do session replication lazily, then as soon as node2
was viable, it
would be flooded with thousands of requests to replicate the existing
sessions. I believe this is
the reason the change was made in the architecture between 5.1 and 6.x.
There's always a trade-off. Some customers want performance and some
customers want reliability.
It looks like either we can choose the reliable behavior as same as WLS5.1
does, or explain the "lazily"
replication of HttpSessions in our edocs."
If this behaviour is not acceptable for you, pls contact support and raise
your voice.
Also reference CR070084.
Kumar
"Russ Hampleman" <[email protected]> wrote in message
news:[email protected]...
>
> This is the exact behavior I am seeing with Weblogic 6.1sp1. This is not
the case
> with Weblogic 5.1sp8. Is this a bug with 6.1?
>
> Ben Valentine <[email protected]> wrote:
> >It is my understanding that session data is replicated only during calls
> >to HttpSession.setAttribute() and HttpSession.removeAttribute(). If
> >a user has established a session on server A (secondary on server B)
> >and server B goes down, then an incomplete secondary is created on some
> >other server. If server A fails before this user accidentally causes
> >all of the session data to be replicated, then some requests to the
> >new managed server will work and some will not creating eratic errors.
>
Similar Messages
-
Managed server not able to join the cluster
Hi
I have two storage node enabled coherence servers on two different machines.These two are able to form the cluster without any problem. I also have two Managed servers. When I start one, will join the cluster without any issue but when I start the fourth one which does not join the cluster. Only one Managed server joins the cluster. I am getting the following error.
2011-12-22 15:39:26.940/356.798 Oracle Coherence GE 3.6.0.4 <Info> (thread=[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "file:/u02/oracle/admin/atddomain/atdcluster/ATD/config/atd-client-cache-config.xml"
2011-12-22 15:39:26.943/356.801 Oracle Coherence GE 3.6.0.4 <D4> (thread=[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): TCMP bound to /172.23.34.91:8190 using SystemSocketProvider
2011-12-22 15:39:57.909/387.767 Oracle Coherence GE 3.6.0.4 <Warning> (thread=Cluster, member=n/a): This Member(Id=0, Timestamp=2011-12-22 15:39:26.944, Address=172.23.34.91:8190, MachineId=39242, Location=site:dev.icd,machine:appsoad2-web2,process:24613, Role=WeblogicServer) has been attempting to join the cluster at address 231.1.1.50:7777 with TTL 4 for 30 seconds without success; this could indicate a mis-configured TTL value, or it may simply be the result of a busy cluster or active failover.
2011-12-22 15:39:57.909/387.767 Oracle Coherence GE 3.6.0.4 <Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster:
Message "NewMemberAnnounceWait"
FromMember=Member(Id=2, Timestamp=2011-12-22 15:22:56.607, Address=172.23.34.74:8090, MachineId=39242, Location=site:dev.icd,machine:appsoad4,process:23937,member:CoherenceServer2, Role=WeblogicWeblogicCacheServer)
FromMessageId=0
Internal=false
MessagePartCount=1
PendingCount=0
MessageType=9
ToPollId=0
Poll=null
Packets
[000]=Broadcast{PacketType=0x0DDF00D2, ToId=0, FromId=2, Direction=Incoming, ReceivedMillis=15:39:57.909, MessageType=9, ServiceId=0, MessagePartCount=1, MessagePartIndex=0, Body=0}
Service=ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_ANNOUNCE), Id=0, Version=3.6}
ToMemberSet=null
NotifySent=false
ToMember=Member(Id=0, Timestamp=2011-12-22 15:39:26.944, Address=172.23.34.91:8190, MachineId=39242, Location=site:dev.icd,machine:appsoad2-web2,process:24613, Role=WeblogicServer)
SeniorMember=Member(Id=1, Timestamp=2011-12-22 15:22:53.032, Address=172.23.34.73:8090, MachineId=39241, Location=site:dev.icd,machine:appsoad3,process:19339,member:CoherenceServer1, Role=WeblogicWeblogicCacheServer)
2011-12-22 15:40:02.915/392.773 Oracle Coherence GE 3.6.0.4 <Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster:
Message "NewMemberAnnounceWait"
FromMember=Member(Id=2, Timestamp=2011-12-22 15:22:56.607, Address=172.23.34.74:8090, MachineId=39242, Location=site:dev.icd,machine:appsoad4,process:23937,member:CoherenceServer2, Role=WeblogicWeblogicCacheServer)
FromMessageId=0
Internal=false
MessagePartCount=1
PendingCount=0
MessageType=9
ToPollId=0
Poll=null
Packets
{Hi,
By default Coherence uses a multicast protocol to discover other nodes when forming a cluster. Since you are having difficulties in establishing a cluster via multicast, Can you please perform a multicast test and see if multicast is configured properly.
http://wiki.tangosol.com/display/COH32UG/Multicast+Test
Hope you are using same configuration files across the cluster members and all members of the cluster must specify the same cluster name in order to be allowed to join the cluster.
<cluster-name system-property="tangosol.coherence.cluster";>xxx</cluster-name>
I would suggest, try using the unicast-listener with the well-known-addresses instead of muticast-listener.
http://wiki.tangosol.com/display/COH32UG/well-known-addresses
Add similar entries like below in your tangosol override xml..
<well-known-addresses>
<socket-address id="1">
<address> 172.23.34.91<;/address>
<port>8190</port>
</socket-address>
<socket-address id="2">
<address> 172.23.34.74<;/address>
<port> 8090</port>
</socket-address>
</well-known-addresses>
This list is used by all other nodes to find their way into the cluster without the use of multicast, thus at least one well known node must be running for other nodes to be able to join.
Hope this helps!!
Thanks,
Ashok.
<div id="isChromeWebToolbarDiv" style="display:none"></div> -
Error reading Web application occurs when starting one server in the cluster
Hi All,
I have configured two cluster servers in the win 2000. Admin server also win
2000. One cluster server joins the cluster while other gives following error
and starts. But it seems that it does not join to the cluster view because
prevoius server only serves the requests. I have attached the log also.
<> <101062> <[HTTP synergyserver] Error reading Web application
"D:\bea\wlserver6.0\.\config\bd2kadmindomain\applications\.wl_temp_do_not_de
lete_synergyserver\wl_local_comp12863.war">
java.net.UnknownHostException: java.sun.com
at java.net.InetAddress.getAllByName0(InetAddress.java:571)
at java.net.InetAddress.getAllByName0(InetAddress.java:540)
at java.net.InetAddress.getAllByName(InetAddress.java:533)
at weblogic.net.http.HttpClient.openServer(HttpClient.java:159)
at weblogic.net.http.HttpClient.openServer(HttpClient.java:221)
at weblogic.net.http.HttpClient.<init>(HttpClient.java:85)
at
weblogic.net.http.HttpURLConnection.getHttpClient(HttpURLConnection.java:109
at
weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:30
1)
at java.net.URL.openStream(URL.java:798)
at
weblogic.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRead
erFactory.java:149)
at
weblogic.apache.xerces.readers.DefaultEntityHandler.startReadingFromExternal
Entity(DefaultEntityHandler.java:775)
at
weblogic.apache.xerces.readers.DefaultEntityHandler.startReadingFromExternal
Subset(DefaultEntityHandler.java:570)
at
weblogic.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScanner
.java:1131)
at
weblogic.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDocum
entScanner.java:2177)
at
weblogic.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentScan
ner.java:2133)
at
weblogic.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispatc
h(XMLDocumentScanner.java:882)
at
weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentSca
nner.java:380)
at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:900)
at
weblogic.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.ja
va:123)
at
weblogic.servlet.internal.dd.DescriptorLoader.<init>(DescriptorLoader.java:1
78)
at weblogic.servlet.internal.HttpServer.loadWARContext(HttpServer.java:446)
at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:404)
at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
at weblogic.j2ee.Application.addComponent(Application.java:133)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:115)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:327)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:143)
at
weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:
76)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:562)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
48)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:285)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:439)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:180)
at $Proxy40.addWebDeployment(Unknown Source)
at
weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeploymen
t(WebServerMBean_CachingStub.java:1012)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:313)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
Target.java:277)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
eploymentTarget.java:232)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
entTarget.java:192)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:562)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
48)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:285)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:439)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:180)
at $Proxy0.updateDeployments(Unknown Source)
at
weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
ServerMBean_CachingStub.java:2299)
at
weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
icationManager.java:240)
at
weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
r.java:122)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:562)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
48)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:285)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:439)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:180)
at $Proxy9.start(Unknown Source)
at
weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
ApplicationManagerMBean_CachingStub.java:435)
at weblogic.management.Admin.startApplicationManager(Admin.java:1033)
at weblogic.management.Admin.finish(Admin.java:493)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:429)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:170)
at weblogic.Server.main(Server.java:35)
Each cluster servers domain names are different i.e. not "mydomain". The
file its complaining is in the specified directory and it has proper
priviledges.
If anyone has an idea please respond.
Thanks
Nalika
[synergyserver.log]
You're getting that probably because the WL instance was not shut down properly.
If that's the case, you'll need to remove an ldap lock file (with a .lok extension) in the directory of ldap files (under the server dir) . -
One of my customers has a Windows Server 2008 R2 cluster for an Exchange 2010 Mailbox Database Availability Group. Lately, they've been having problems with one of their nodes (the one node that is on a different subnet in a different datacenter) where
their Exchange databases aren't replicating. While looking into this issue it seems that the problem is the Network Manager isn't started because the cluster service is failing. Since the issue seems to be with the cluster service, and not Exchange,
I'm asking here.
When the cluster service starts, it appears to start working, but within a few minutes the following is logged in the system event log.
FailoverClustering
1572
Critical
Cluster Virtual Adapter
Node 'nodename' failed to join the cluster because it could not send and receive failure detection network messages with other cluster nodes. ...
It seems that the problem is with the 169.254 address on the cluster virtual adapter. An entry in the cluster.log file says: Aborting connection because NetFT route to node nodename on virtual IP 169.254.1.44:~3343~ has failed to come up.
In my experience, you never have to mess with the cluster virtual adapter. I'm not sure what happened here, but I doubt it has been modified. I need the cluster to communicate with its other nodes on our routed 10. network. I've never experienced
this before and found little in my searches on the subject. Any idea how I can fix this?
Thanks,
Joe
Joseph M. Durnal MCM: Exchange 2010 MCITP: Enterprise Messaging Administrator, Exchange 2010 MCITP: Enterprise Messaging Administrator, MCITP: Enterprise AdministratorHi,
I suspected an issue with communication on UDP port 3343. Please confirm the set rules for port 3343 on all the nodes in firewall and enabled all connections for all the profiles
in firewall on all the nodes are opened, or confirm the connectivity of all the node.
Use ipconfig /flushdns to update all the node DNS register, then confirm the DNS in your DNS server entry is correct.
The similar issue article:
Exchange 2010 DAG - NetworkManager has not yet been initialized
https://blogs.technet.com/b/dblanch/archive/2012/03/05/exchange-2010-dag-networkmanager-has-not-yet-been-initialized.aspx?Redirected=true
Hope this helps.
We
are trying to better understand customer views on social support experience, so your participation in this
interview project would be greatly appreciated if you have time.
Thanks for helping make community forums a great place. -
Clinet Application without joining the cluster
Hi All,
is it possible for client application to access the cache within a coherence cluster. The Client application is not a part of cluster and it didnt start with and cache config files or anything else.
The client application just uses :
NamedCache cache = CacheFactory.getCache("VirtualCache");
if a client application starts with a cache-config file it will also join the cluster in this case the JVM of the client app will aslo be loaded/distributed/replicated with the cache contents ?
Please clarify my doubts.
Regards
Srinivas.The only clean way of NOT joining the cluster is to connect via Extend.
You can join the cluster, and specify LocalStorage=False parameter, however, that is only applicable for distributed cache. Replicated cache data still exists on every node. A bigger issue in my mind, is that your node will be actively managing membership of other members in the cluster, and that can become a problem.
Timur -
After patching the node, the node is not joining the cluster.
Dear All,
We are having a two node suncluster with below release
Sun Cluster 3.2u1 for Solaris 10 sparc
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
And nodes are
Node Name Status
scrbdomdefrm005 Online
scrbdomderue005 Offline
We are patching the nodes with 2q 2009 quarter patches, first we patched the node scrbdomderue005. we have followed the below step to patch the server.
1) Our root d0 has d1(c0t0d0s0) and d2(c1t0d0s0)
2) we have detached the d2 from d0; metaclear d2
3) mount the c1t0d0s0 /mnt
4) use the patchadd -R /mnt to patch the server. While patching we got only one error the patch 126106-27 need to be install in noncluster mode.
5) switch the RG's from node scrbdomderue005 to scrbdomdfrm005.
6) shutdown the scrbdomderue005, boot the scrbdomderue005 with c1t0d0s0 in noncluster-single user mode, and installed the patch 126106-27 and it was successful.
7) shutdown the scrbdomderue005, boot the scrbdomderue005 with c1t0d0s0 in clustermode, and we are getting the following error.
Booting as part of a cluster
NOTICE: CMM: Node scrbdomdefrm005 (nodeid = 1) with votecount = 1 added.
NOTICE: CMM: Node scrbdomderue005 (nodeid = 2) with votecount = 1 added.
WARNING: CMM: Open failed for quorum device /dev/did/rdsk/d5s2 with error 1.
NOTICE: clcomm: Adapter nxge7 constructed
NOTICE: clcomm: Adapter nxge3 constructed
NOTICE: CMM: Node scrbdomderue005: attempting to join cluster.
NOTICE: nxge3: xcvr addr:0x0a - link is up 1000 Mbps full duplex
NOTICE: nxge7: xcvr addr:0x0a - link is up 1000 Mbps full duplex
WARNING: CMM: Open failed for quorum device /dev/did/rdsk/d5s2 with error 1.
NOTICE: CMM: Cluster doesn't have operational quorum yet; waiting for quorum.
NOTICE: clcomm: Path scrbdomderue005:nxge7 - scrbdomdefrm005:nxge7 errors during initiation
NOTICE: clcomm: Path scrbdomderue005:nxge3 - scrbdomdefrm005:nxge3 errors during initiation
WARNING: Path scrbdomderue005:nxge7 - scrbdomdefrm005:nxge7 initiation encountered errors, errno = 62. Remote node may be down or unreachable through this path.
WARNING: Path scrbdomderue005:nxge3 - scrbdomdefrm005:nxge3 initiation encountered errors, errno = 62. Remote node may be down or unreachable through this path.
exit from console.
We are able to boot the node scrbdomderue005 in noncluster-mode and it was successful., please check the below details.
scrbdomderue005:/# uname -a
SunOS scrbdomderue005 5.10 Generic_138888-07 sun4u sparc SUNW,SPARC-Enterprise
scrbdomderue005:/#
Before pathcing the server scrbdomderue005 the kernel version was.
SunOS scrbdomderue005 5.10 Generic_137111-07 sun4u sparc SUNW,SPARC-Enterprise
If i boot the scrbdomderue005 with d1(c0t0d0s0), the server is properly joining the cluster without issue.
could any one please guide me, what could be the problem... how to resolve the issue.Hi
I could be because you have installed patch 138888. It has problems with nxge interfaces used as interconnect.
Rgds
Carsten -
11gR1 1 node won't join the cluster after reboot.
This is a high level description of a problem.
We usually run a two node cluster.
This week we had an issue where one node needed to be taken down. It became non responsive and upon reboot the other node no longer functioned correctly.
So one node was left running until the maintenance window.
Apparently when it's brought back up it has the MAC of the second node in the arp cache.
This leads to node1 not being able to join the cluster.
I've seen workarounds that involve refreshing the arp cache but is there anything else to this?This is a high level description of a problem.
We usually run a two node cluster.
This week we had an issue where one node needed to be taken down. It became non responsive and upon reboot the other node no longer functioned correctly.
So one node was left running until the maintenance window.
Apparently when it's brought back up it has the MAC of the second node in the arp cache.
This leads to node1 not being able to join the cluster.
I've seen workarounds that involve refreshing the arp cache but is there anything else to this? -
Weblogic admin server in the cluster !!!!
Hi,
I am working on weblogic setup already done by my ex-colleague. I observed that, the admin server is also participating in the cluster and hence it is also one of the targets for EJB components, datasource and connection pool. Is there any performance issue in this setup ?
thanks for your time.Thank you for your reply.
I forgot to tell you that the admin server is not an individual machine. It is setup in one of the weblogic App. servers. Therefore, I feel it is better we do not add this admin server in the cluster.
You can give me your advice. ---- topic 1
By the way, I had posted one question about targeting a datasource to the individual servers rather than to a cluster. In the existing setup, the datasource is targeted to individual servers rather
than to the cluster. The setup is running without any error.
But as per the BEA manual, we have to target the datasource to the cluster if we use cluster. So, in my current setup, is there any performance issue or may I face any problem in future by not targeting the datasource to the cluster? I appreciate if you can
try this question. ---- topic 2
Thanks in advance. -
How to add another serve into the cluster without updating the tangosol xml
Currently we have two servers in the cluster and incase want to expand it further, add the entry in tangosol-coherence-override.xml.
What i am looking for is coherence providing kind of API using which I can tell it that here is the new/latest list of servers in the cluster. If there is a change then the cluster should be able to accommodate accordingly.
More of a dynamic self expansion and reduction ability of the Coherence cluster based on the published information.
Thanks
Edited by: user11224268 on Jun 2, 2009 7:40 PMHi,
I do not think this is presently feasible. I have filed COH-2374 for tracking purposes requesting an implementation of the host-filter element for the authorized-hosts for cluster-config similar to the host-filter element for authorized-hosts for tcp-acceptor. This would enable the specification of a Filter implementation that would be used to determine if a host should be allowed to join the cluster.
Regards,
Harv -
Node fails to join the cluster
We are observing a problem where a node, after getting restarted, fails to join the cluster.
We run two coherence clusters across three boxes. Each box runs 8 java processes, 4 processes of one cluster, another 4 process
of the other cluster. They all run as windows NT services. Sometimes, some node goes down and gets restarted. But then it fails to join the cluster with following exception :
"com.tangosol.net.RequestTimeoutException: Timeout during service start: ServiceInfo(Id=8, Name=DistributedFIIndicativeCacheWithPublishingCacheStore, Type=DistributedCache"
Has anyone experienced and addressed such a problem? If required, I can provide exact details of the cluster setup.
-BharatHi Bharat,
This may be caused by a stuck or slow DistributedService thread on one of your nodes. Please log into http://support.oracle.com and take a look at [Note 845363.1|https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=845363.1] for more details. Additionally, consider upgrading to Coherence 3.5 as it includes the [Service Guardian for deadlock detection/resolution|http://blackbeanbag.net/wp/2009/07/20/coherence-3-5-service-guardian-deadlock-detection/].
Thanks,
Patrick -
All web sessions (Java) getting started on the cluster server
We have a clustered environment and are using Web Analyzer to access our BI system. I just recently discovered, however, that all of the web sessions are running on the clustered server, which should not be happening.
We use a virtual name when accessing the Web Analyzer URL (because of the clustered environment) but the same thing happens when I use the actual physical name of the primary server (taking out DNS as a possible cause of the problem).
So, my question is, what dictates where the web session gets launched? When looking in AL08 I see all of the web sessions running on our clustered server and their terminal name is the name of the primary server. Conversely, all SAP GUI sessions are running on the primary server, so I know this is just an issue with web/http related sessions.
I thought there might be a java attribute that dictated which server where these sessions got started (such as in the dispatcher config) but I can't find anything, plus I know it's not a load-balancing issue because the web sessions never start on the primary server.
Thanks for any insight
RossWe have two separate instances each running on their own physical server. Thus, it is possible to go to the java port of each individual server; ie. http://server1:port or http://server2:port. The cluster is setup such that either server could go down and the remaining server will keep working.
When I use the virtual server name (which resolves to server1) in the URL, the http session actually always gets sent to server2 with server1 as the terminal name (when looking in sm04 or al08).
1) Clients goes to http://<virtual server name>:port
2) Virtual server name is resolved to server1
3) Server1 receives http request and sends to server2
4) Http session is started on server2 with terminal name of server1
The same thing happens if I use server1 or server2 in the URL as well -- the session always gets sent to server2. I know I do not have a good enough knowledge of how the j2ee dispatcher works - I'm assuming this is the problem.
Thanks again -
Can the node's UID be different when re-joining the cluster?
Let's say that we have a split brain scenario and when both islands meet again one of them is "marked as invalid" and is restarted. Upon cluster restart will the restarted nodes get new UID values?
Thanks,
-- GatoGato,
Absolutely! The UID is the member's identity and if the cluster service restarts (within a given Java process), it will be always assigned a new and unique UID.
Regards,
Gene -
FATAL: replicated HTTP session specified but clustering not enabled for webapp: /BV
Hi,
I tried to startup weblogic server 6.1 using
in-memory replication, and the I got an error
<Error> <HTTP> <FATAL: replicated HTTP sessioned specified but clustering not
enabled for webapp: /bv>
I set <param-name>PersistentStoreType</param-name><param-value>replicated</param-value>
in weblogic.xml
And, I sepecified in my console
Deployment-> Web Applications -> bv -> Target cluster -> bvcluster.
I have 2 nodes cluster environment using Solaris.
Each node has 1 managed server joining this cluster.
What am I missing? Please let me know.
Thanks.
hiromu
Thank you for the reply.
The target cluster for my web application is my cluster.
When I checked the target server as well,
then there is a server which is not a member of the cluster.
I deleted the server name, then that error is gone.
// hiromu
><html>
>Interesting.
><br>You shouldn't get this if persistentStoreType is
><br>"replciated" . I just tried this and it works as expected.
><p>Did you re-deployed the webapp after making
><br>the following change in weblogic.xml?
><p>--
><br>Kumar
-
Cookie bug using Administrative Server as part of the Cluster
All using Weblogic 6.0:
Administrative Server running on Windows 2000 Professional
Managed Server running on Windows 2000 Server
Both machines running in the same cluster.
Requests being proxied by the Windows 2000 Professional machine running IIS
Ok, now that you know our test environment, here's a little about our bug.
If we begin an http session with requests being fulfilled by the
administrative server (through the proxy), and shut down and bring the
managed server back up, everything is fine. (No big surprise.)
However, if requests are being fulfilled by the managed server and the
administrator goes down and then comes back up, we get a
"ReplicationManager: object 722399223287670702 not found" error, where the
number seems to refer to value stored in the cookie after the last OR
symbol as shown below.
When the session is created, the cookie contains the following value:
session id =
OnIXh5A6DxUWgBrA2qCLIDN0Co1dewmjdV1ze1isn9Wur2CHl2k2|60563422118895
84610/-1062731365/7001/7002|4648941459387506517/-1062731381/7001/7002|722399
223287670702
When the administrative server goes down, the cookie contains the following
value:
session id =
OnIXh5A6DxUWgBrA2qCLIDN0Co1dewmjdV1ze1isn9Wur2CHl2k2|60563422118895
84610/-1062731365/7001/7002|NONE|722399223287670702
When the administrative server comes back up, the cookie contains the
following value:
session id =
OnIXh5A6DxUWgBrA2qCLIDN0Co1dewmjdV1ze1isn9Wur2CHl2k2|60563422118895
84610/-1062731365/7001/7002|4563245475623454445/-1062731381/7001/7002|722399
223287670702
Its pretty obvious how the cookie id breaks down, information before the
first OR is client info specific to each client, between the first and
second OR is information regarding the first server from the cluster to
fulfill the requests. The info between the second and third is the
identification of the backup server containing the replicated version of the
session. And the last bit of information seems to be an ID referring to the
session object as stored in memory. As you can see, the value that the error
is referring to never changes. SO WHY DOES THE OBJECT GET LOST?
This is a big problem for us, as our resources are limited (as I assume
everyone else's is). Is this just a bug? If so, is there a service pack
already available? If its not a bug, it should be as resolving the bug
allows the administrative server to be part of the cluster saving everyone
the money for an extra machine and (here's the killer) the money for an
extra weblogic license to run on a administrative server separate from the
cluster (in which case it works fine, just costs a whole lot more).
Well, I hope this is clear enough. If not please ask whatever you need to
know. We are looking for any information anyone can provide.
Thank you,
Chad Griffith
Software Engineer
VisionTEK Inc.
[email protected]
To answer your question, fail over works fine, i.e. if a session is
maintained on the managed server, we can shut it down and the session is
transferred to the administrative sever.
The only problem we are having is when the session is on the MANAGED server,
and the ADMIN server goes down and back up WITHOUT any session transfer.
As for shutting down an admin server, you can bring it back up while managed
servers are running by using the -Dweblogic.management.discover=TRUE
setting.
I hope this clarifies everything.
Thanks again,
Chad
"Sioux France" <[email protected]> wrote in message
news:[email protected]...
> Is this an admin server problem though? Can you try the opposite? i.e. IS
it
> possible to connect to the Managed server for your http requests (through
> the proxy)? If so, then shut down and bring back the managed server. I'd
> expect that to go wrong in the same way? Likewise if you shutdown and
bring
> back the admin server in that configuration you would not have a problem?
> "Chad Griffith" <[email protected]> wrote in message
> news:[email protected]...
> > All using Weblogic 6.0:
> > Administrative Server running on Windows 2000 Professional
> > Managed Server running on Windows 2000 Server
> > Both machines running in the same cluster.
> > Requests being proxied by the Windows 2000 Professional machine running
> IIS
> >
> > Ok, now that you know our test environment, here's a little about our
bug.
> > If we begin an http session with requests being fulfilled by the
> > administrative server (through the proxy), and shut down and bring the
> > managed server back up, everything is fine. (No big surprise.)
> >
> > However, if requests are being fulfilled by the managed server and the
> > administrator goes down and then comes back up, we get a
> > "ReplicationManager: object 722399223287670702 not found" error, where
the
> > number seems to refer to value stored in the cookie after the last OR
> > symbol as shown below.
> >
> > When the session is created, the cookie contains the following value:
> > session id =
> > OnIXh5A6DxUWgBrA2qCLIDN0Co1dewmjdV1ze1isn9Wur2CHl2k2|60563422118895
> >
>
84610/-1062731365/7001/7002|4648941459387506517/-1062731381/7001/7002|722399
> > 223287670702
> >
> > When the administrative server goes down, the cookie contains the
> following
> > value:
> > session id =
> > OnIXh5A6DxUWgBrA2qCLIDN0Co1dewmjdV1ze1isn9Wur2CHl2k2|60563422118895
> > 84610/-1062731365/7001/7002|NONE|722399223287670702
> >
> > When the administrative server comes back up, the cookie contains the
> > following value:
> > session id =
> > OnIXh5A6DxUWgBrA2qCLIDN0Co1dewmjdV1ze1isn9Wur2CHl2k2|60563422118895
> >
>
84610/-1062731365/7001/7002|4563245475623454445/-1062731381/7001/7002|722399
> > 223287670702
> >
> > Its pretty obvious how the cookie id breaks down, information before the
> > first OR is client info specific to each client, between the first and
> > second OR is information regarding the first server from the cluster to
> > fulfill the requests. The info between the second and third is the
> > identification of the backup server containing the replicated version of
> the
> > session. And the last bit of information seems to be an ID referring to
> the
> > session object as stored in memory. As you can see, the value that the
> error
> > is referring to never changes. SO WHY DOES THE OBJECT GET LOST?
> >
> > This is a big problem for us, as our resources are limited (as I assume
> > everyone else's is). Is this just a bug? If so, is there a service pack
> > already available? If its not a bug, it should be as resolving the bug
> > allows the administrative server to be part of the cluster saving
everyone
> > the money for an extra machine and (here's the killer) the money for an
> > extra weblogic license to run on a administrative server separate from
the
> > cluster (in which case it works fine, just costs a whole lot more).
> >
> > Well, I hope this is clear enough. If not please ask whatever you need
to
> > know. We are looking for any information anyone can provide.
> >
> > Thank you,
> > Chad Griffith
> > Software Engineer
> > VisionTEK Inc.
> > [email protected]
> >
> >
>
>
-
Hi,
I have a weblogic cluster with 2 managed servers on 2 different machines,
Now i have an application.ear which is kept on the first server and while deploying i choose the option "copy to the other server" and i deploy this EAR to the cluster.
Mine is a applet-servlet based application and the applet gets downloaded onto client browser.
Now when both the servers are up load balancing and the failover is also happening.Now the problem is when rejoing the failed server back to the cluster.
I have setup the classpath entries and arguments entries "Remote Start" tab in the server configuration,
I bring back the server through weblogic console and it joins the cluster also without any problem.
The problem is if some users have already opened the application then after rejoining also it works fine.
But if a new user tries to access the applications what happens is
we get
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at weblogic.servlet.internal.ChunkUtils.writeChunkTransfer(ChunkUtils.java:267)
at weblogic.servlet.internal.ChunkUtils.writeChunks(ChunkUtils.java:239)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:311)
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:387)
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:254)
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:125)
at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:184)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1639)
at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1603)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1325)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at WebRequestController.doPost(WebRequestController.java:184)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
We use IPlanet proxy server to route to the cluster
Somebody pls help..
Regards
SureshDavin Czukoski wrote:
We have been switching back and forth between the BEA MS SQL server driver
and the Data Direct driver ever since the SP3 problem started.
This seems to be a problem with the BEA MS SQL server driver. We switch to
Data Direct and the problem went away.
There were no memory messages in our logs for SQL server.Ok. And this only happens during a big sequence of inserts? Let me see your code,
and please describe the table too. I'll try to duplicate it, but if the data direct driver
or the free MS driver works for you, go with them.
Joe
>
>
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]..
Davin Czukoski wrote:
I am getting this error part way through an 1000 row update.
Exception: I/O exception while talking to the server,
java.io.IOException:
Broken pipe
Is it a driver or network issue?Probably neither. I'm guessing the DBMS ran out of memory for theinsert-logging
or something like that, and killed the client connection. Check your DBMSlog.
Joe Weinstein at BEA
Maybe you are looking for
-
SLOW PERFORMANC​E OF SHARED VARIABLES
Hello, We have developed application in LabVIEW 8.6.1 for testing mechanical equipments using cRIO 9074 (Real Time controller). In this application we have used shared variables (Network published) for communications between Real Time controller and
-
Looking for a video grabber or capture device that takes s-video or composite video and connects to the usb port that works for WinXP using Parallels. It must operate under Windows so I can use it on occasion on a PC. I tried many device that work on
-
Export To Excel from a VC Iview
Hi all, I tried to Export the data to an Excel from a Table in a VC iView....I have created a Button on the Toolbar of table and added relavent code to do the exporting...But when i click on the button on iam getting the following error... Portal R
-
Reprinting printouts of delivery in two places
Dear sd experts i am facing one problem please let me know i have checked NAST Table --- in se16n with some output condition tables and created timing now i found some delivery document Nors along with Dispatch time like 1,3,4 Only for dispatch time
-
Hi All, We are in Oracle 10.2 and have 2 instances. I am using Flash back feature using the query on instance 1: flashback table tax to scn 1324411234 Then it throws thse errors: ORA-00604: error occurred at recursive SQL level 1 ORA-12801: error sig