[ADF EMG] ADF on Clusters

161 views
Skip to first unread message

Chris Muir

unread,
Apr 17, 2010, 6:46:24 AM4/17/10
to ADF Enterprise Methodology Group
Does anybody have experience and stories they'd like to share in
deploying ADF applications to a WLS cluster? Any unforseen problems?
Standards you wished you'd followed? Documentation you think
invaluable? I'm not looking for information on WLS clustering, but
rather issues detected/resolved with ADF applications specifically
deployed to a cluster.

Your thoughts appreciated.

CM.

--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com

Andrejus Baranovskis

unread,
Apr 17, 2010, 1:09:58 PM4/17/10
to adf-met...@googlegroups.com
Hi Chris,

We were implementing WLS clustering for ADF/WebCenter app. We didnt faced any specific ADF issues, except that file system MDS wasnt replicated across cluster nodes. To make it work, we moved MDS repository to database.

You may face similar kind of issues with image or file upload to the server file system.

Andrejus
--
Oracle ACE Director

My Blog - http://andrejusb.blogspot.com/
My JDev/ADF Samples list - http://andrejusb-samples.blogspot.com/

Chris Muir

unread,
Apr 17, 2010, 6:35:55 PM4/17/10
to adf-met...@googlegroups.com
Hi Andrejus

Have you attempted failover? Was the users' sessions correctly
maintained from the dead node?

Cheers,

CM.

On Sunday, April 18, 2010, Andrejus Baranovskis
--
Chris Muir

Oracle Systems Consultant & Trainer
SAGE Computing Services Pty Ltd
http://www.sagecomputing.com.au

Oracle ACE Director
http://www.oracle.com/technology/community/oracle_ace/index.html

Email: chris...@sagecomputing.com.au
Blog: http://one-size-doesnt-fit-all.blogspot.com/
Mobile/Cell: 043-828-6421
International: +61-43-828-6421
Gmail chat: chris...@gmail.com
Twitter: twitter.com/chriscmuir
LinkedIn: http://www.linkedin.com/in/chriscmuir

Simon Lessard

unread,
Apr 17, 2010, 8:01:03 PM4/17/10
to adf-met...@googlegroups.com
Hi Chris,

AFAIK, it won't in most cases, last time I checked (11.1.1.0.1), ADF still had non Serializable instances in session, so passivation will fail if those happen to be used in your case. I didn't run any check on 11.1.1.2.0 however.


Regards,

~ Simon

Chris Muir

unread,
Apr 19, 2010, 12:36:24 AM4/19/10
to ADF Enterprise Methodology Group
Thanks for the reply Simon.

I'm guessing based on your conclusion, the natural ongoing conclusion
is Fusion Apps wont support failover on the WLS platform regardless of
clustering? ... unless Oracle has some future plans we're not aware
of?

Anyhow it's interesting you bring up Serialization. My original post
was prompted by the following blog entry by Blake Sullivan:
http://leadingyouastray.blogspot.com/2010/02/references-to-uicomponents-in-session.html

...where Blake makes mention putting UIComponents in JSF Session beans
makes them unserializable, and thus un-clusterable. Putting aside the
what-the-h3ll-are-programmers-doing-this-for-anyway idea, I originally
posted the EMG to see if anybody else had come up with the same
conclusion about clustering vs ADF/JSF, in order to help me verify
Blake's conclusion (all gold-stars to Blake for the post, but it's
good to verify these things). As such I think you've indirectly
agreed with Blake's conclusion, and in turn we see a new standard/best
practice (at least for me) that I wasn't aware of previously.

Simon, if we wanted to test the clusterable feature of ADF in the
future (say when it is supported), have you any suggestions on how you
would go about testing this? Your thoughts appreciated.

Thanks & regards,

CM.


On Apr 18, 8:01 am, Simon Lessard <simon.lessar...@gmail.com> wrote:
> Hi Chris,
>
> AFAIK, it won't in most cases, last time I checked (11.1.1.0.1), ADF still
> had non Serializable instances in session, so passivation will fail if those
> happen to be used in your case. I didn't run any check on 11.1.1.2.0
> however.
>
> Regards,
>
> ~ Simon
>
>
>
> On Sat, Apr 17, 2010 at 6:35 PM, Chris Muir <chriscm...@gmail.com> wrote:
> > Hi Andrejus
>
> > Have you attempted failover? Was the users' sessions correctly
> > maintained from the dead node?
>
> > Cheers,
>
> > CM.
>
> > On Sunday, April 18, 2010, Andrejus Baranovskis
> > <andrejus.baranovs...@gmail.com> wrote:
> > > Hi Chris,
> > > We were implementing WLS clustering for ADF/WebCenter app. We didnt faced
> > any specific ADF issues, except that file system MDS wasnt replicated across
> > cluster nodes. To make it work, we moved MDS repository to database.
>
> > > You may face similar kind of issues with image or file upload to the
> > server file system.
> > > Andrejus
>
> > > On 17 April 2010 13:46, Chris Muir <chriscm...@gmail.com> wrote:
> > > Does anybody have experience and stories they'd like to share in
> > > deploying ADF applications to a WLS cluster? Any unforseen problems?
> > > Standards you wished you'd followed? Documentation you think
> > > invaluable? I'm not looking for information on WLS clustering, but
> > > rather issues detected/resolved with ADF applications specifically
> > > deployed to a cluster.
>
> > > Your thoughts appreciated.
>
> > > CM.
>
> > > --
> > > You received this message because you are subscribed to the ADF
> > Enterprise Methodology Group (
> >http://groups.google.com/group/adf-methodology). To unsubscribe send email
> > to adf-methodolo...@googlegroups.com<adf-methodology%2Bunsu...@googlegroups.com>
>
> > > --
> > > Oracle ACE Director
>
> > > My Blog -http://andrejusb.blogspot.com/
> > > My JDev/ADF Samples list -http://andrejusb-samples.blogspot.com/
>
> > > --
> > > You received this message because you are subscribed to the ADF
> > Enterprise Methodology Group (
> >http://groups.google.com/group/adf-methodology). To unsubscribe send email
> > to adf-methodolo...@googlegroups.com<adf-methodology%2Bunsu...@googlegroups.com>
>
> > --
> > Chris Muir
>
> > Oracle Systems Consultant & Trainer
> > SAGE Computing Services Pty Ltd
> >http://www.sagecomputing.com.au
>
> > Oracle ACE Director
> >http://www.oracle.com/technology/community/oracle_ace/index.html
>
> > Email: chris.m...@sagecomputing.com.au
> > Blog:http://one-size-doesnt-fit-all.blogspot.com/
> > Mobile/Cell <http://one-size-doesnt-fit-all.blogspot.com/%0AMobile/Cell>:
> > 043-828-6421
> > International: +61-43-828-6421
> > Gmail chat: chriscm...@gmail.com
> > Twitter: twitter.com/chriscmuir
> > LinkedIn:http://www.linkedin.com/in/chriscmuir
>
> > --
> > You received this message because you are subscribed to the ADF Enterprise
> > Methodology Group (http://groups.google.com/group/adf-methodology). To
> > unsubscribe send email to adf-methodolo...@googlegroups.com<adf-methodology%2Bunsu...@googlegroups.com>

Simon Lessard

unread,
Apr 19, 2010, 9:15:44 AM4/19/10
to adf-met...@googlegroups.com
Hi Chris,

AFAIK Blake is the lead architect on the ADFv team since Adam Winer left, he knows very well what's talking about.

Now, on the clustering issue, he's partly correct. He's correct, like I'm also implying, when considering failover. Since saving the session on node failure implies session passivization, a synonym of serializing all the session attributes, followed but a RMI call (most of the times) to the other nodes. So, having any non Serializable instance (such as an UIComponent) in the session prevents that. Session passivization is an all or nothing operation, it won't just skip over non Serializable instances. That being said, Blake is also wrong about clustering in general as it is possible to enable clustering, even with such "corrupted" session, if you enable session affinity since the session never needs to be serialized, but failover won't work.

Also, I know you said "Putting aside the what-the-h3ll-are-programmers-doing-this-for-anyway idea", but in that case you cannot put it aside. I've been working with JSF for 5 years and there's absolutely no good reason to put a component binding in session (or page flow, which is indirectly the session as well). The ADF class that I found to not be Serializable was in the ADFc layer, I notfied Frank about it and he filled a bug, it's very likely that it was fixed since the time.

As for testing the clusterable feature, we already run one of our test environment in cluster mode (our project aims between 300 and 1,000 concurrent users), but with session affinity. To easily test session serialization, thus the first part of the failover process, I normally simply do a Filter that tries to serialize the session after each requests. It's very easy to do and gives a quick yes/no answer. What it doesn't do, however, is give the list of classes in problem, it gives only the first then crash. In order to get more information, I created a SerializableInspector class that parse an object tree through introspection and list all non transient non Serializable classes. This is actually how I could identify the culprit ADFc class.

Both of those test give only indications on the serializable status of the session, but perfect failover means more than that, especially if you're using the ADFm layer with data bindings. For example, in what state are multi request transactions going end up? Does it depend on AM pooling? AFAIK, the only way to know is to test it by running the application, killing a node during a transaction and see what happens as I've never tested that and thus don't know the answers at all.


Regards,

~ Simon

Andrejus Baranovskis

unread,
Apr 19, 2010, 1:20:27 PM4/19/10
to adf-met...@googlegroups.com
Hi Chris,

Yes, we were using WLS in-memory HTTP replication and user session from dead node was transfered to the next available node.

Andrejus

Edwin Biemond

unread,
Apr 19, 2010, 3:09:25 PM4/19/10
to ADF Enterprise Methodology Group
Hi,

With Weblogic it is to make a scalable solution by making a cluster ,
high availability is a different story. What you want is server
migration by a failure. When you use jms or a transaction manager
( EJB) then you need to have a shared storage and this can be very
difficult ( needs storage, operating and network specialists ) and
expensive ( iscsi , fiber , nas / san )

thanks Edwin

On Apr 19, 7:20 pm, Andrejus Baranovskis
<andrejus.baranovs...@gmail.com> wrote:
> Hi Chris,
>
> Yes, we were using WLS in-memory HTTP replication and user session from dead
> node was transfered to the next available node.
>
> Andrejus
>
> On 18 April 2010 01:35, Chris Muir <chriscm...@gmail.com> wrote:
>
>
>
> > Hi Andrejus
>
> > Have you attempted failover? Was the users' sessions correctly
> > maintained from the dead node?
>
> > Cheers,
>
> > CM.
>
> > On Sunday, April 18, 2010, Andrejus Baranovskis
> > <andrejus.baranovs...@gmail.com> wrote:
> > > Hi Chris,
> > > We were implementing WLS clustering for ADF/WebCenter app. We didnt faced
> > any specific ADF issues, except that file system MDS wasnt replicated across
> > cluster nodes. To make it work, we moved MDS repository to database.
>
> > > You may face similar kind of issues with image or file upload to the
> > server file system.
> > > Andrejus
>
> > > On 17 April 2010 13:46, Chris Muir <chriscm...@gmail.com> wrote:
> > > Does anybody have experience and stories they'd like to share in
> > > deploying ADF applications to a WLS cluster? Any unforseen problems?
> > > Standards you wished you'd followed? Documentation you think
> > > invaluable? I'm not looking for information on WLS clustering, but
> > > rather issues detected/resolved with ADF applications specifically
> > > deployed to a cluster.
>
> > > Your thoughts appreciated.
>
> > > CM.
>
> > > --
> > > You received this message because you are subscribed to the ADF
> > Enterprise Methodology Group (
> >http://groups.google.com/group/adf-methodology). To unsubscribe send email
> > to adf-methodolo...@googlegroups.com<adf-methodology%2Bunsu...@googlegroups.com>
>
> > > --
> > > Oracle ACE Director
>
> > > My Blog -http://andrejusb.blogspot.com/
> > > My JDev/ADF Samples list -http://andrejusb-samples.blogspot.com/
>
> > > --
> > > You received this message because you are subscribed to the ADF
> > Enterprise Methodology Group (
> >http://groups.google.com/group/adf-methodology). To unsubscribe send email
> > to adf-methodolo...@googlegroups.com<adf-methodology%2Bunsu...@googlegroups.com>
>
> > --
> > Chris Muir
>
> > Oracle Systems Consultant & Trainer
> > SAGE Computing Services Pty Ltd
> >http://www.sagecomputing.com.au
>
> > Oracle ACE Director
> >http://www.oracle.com/technology/community/oracle_ace/index.html
>
> > Email: chris.m...@sagecomputing.com.au
> > Blog:http://one-size-doesnt-fit-all.blogspot.com/
> > Mobile/Cell: 043-828-6421
> > International: +61-43-828-6421
> > Gmail chat: chriscm...@gmail.com
> > Twitter: twitter.com/chriscmuir
> > LinkedIn:http://www.linkedin.com/in/chriscmuir
>
> > --
> > You received this message because you are subscribed to the ADF Enterprise
> > Methodology Group (http://groups.google.com/group/adf-methodology). To
> > unsubscribe send email to adf-methodolo...@googlegroups.com<adf-methodology%2Bunsu...@googlegroups.com>
>
> --
> Oracle ACE Director
>
> My Blog -http://andrejusb.blogspot.com/
> My JDev/ADF Samples list -http://andrejusb-samples.blogspot.com/
>
> --
> You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com

--

Predrag Maric

unread,
Apr 19, 2010, 11:35:46 AM4/19/10
to ADF Enterprise Methodology Group
Hi all,

We have experimented with cluster deployment for a while, and came to
some conclusions because of which we changed our design patterns.
Specifically, we use EJB data controls and on failover we experienced
loss of data. The data in pageDef objects gets reseted when failover
occurs, and we found no setting (on the ADFm layer) to prevent that.
That's why we now use pageFlowScope for keeping data, as it seems to
be replicating ok.

I started a thread on the forum http://forums.oracle.com/forums/thread.jspa?threadID=928010
but with no concrete results.

A few weeks ago our application went production in a clustered
environment, it works ok.

Pedja

Simon Lessard

unread,
Apr 19, 2010, 1:22:50 PM4/19/10
to adf-met...@googlegroups.com
Hi Andrejus,

I wasn't aware of that option, do you know if it works with non Serializable object as well? In-memory makes me feel like it's doing some lower level memory replication that could maybe workaround serialization issues.


Thanks,

~ Simon

Andrejus Baranovskis

unread,
Apr 20, 2010, 1:48:40 PM4/20/10
to adf-met...@googlegroups.com
Hi Simon,

We were using ADF Security, and logged in user session was transfered to another available node. ADF data was available as well. However, you should test if it works in your specific case, see here - http://andrejusb.blogspot.com/2009/04/weblogic-in-memory-http-replication-for.html

Regards,
Andrejus
Reply all
Reply to author
Forward
0 new messages