Hi Filip,
sorry, that this mail will be lengthy, but I prefer to explain my
reasons for OACC in more detail.
Filip Hanik - Dev Lists schrieb:
------
The sandbox provides a port of TC 5.5 cluster for
Tomcat 6 in order to ease Tomcat 6 migration for webapps
using Tomcat 5.5 cluster. Using OACC users can first
switch to TC 6 with the same cluster configuration and
later migrate to the very different HA/Tribes cluster.
------
In my experience, cluster users which really have a critical app
running, hesitate to switch to a completely different cluster
implementation. On the other hand they might want to move on to Tomcat 6.
I've not run into this scenario, customer's were actually happy to
switch, as it provided them with much more flexibility.
There might be cultural differences between the states and europe. I
often work with people from the operating units who prefer using proven
technology. My experience differs from yours. I'm *not* walking about
new cluster users.
OACC provides an easy way of doing a two step migration. Go to Tomcat
6 (which in its core parts is not too different from 5.5) and then
test the new HA/Tribes cluster.
At the moment OACC is only a sandbox. If it looks good (functionality
and stability) - which my first tests seem to indicate - then I would
propose an optional extra download for TC 6 containing OACC. Filip's
cluster has the bigger potential and should stay the default
automatically contained in each download of TC 6, s.t. cluster newbies
directly start with that one. But for users having a running TC 5.5
cluster I think it's nice - and necessary - to provide the OACC
alternative.
if this is for migration, why not provide a migration document instead.
the only difference between 5.5 and 6.0 is the messaging and membership
mechanism, which are fairly broken in 5.5. The actual session
replication code is the same, but more bug fixes, in 6.0.
if there is something lacking in 6.0 that you have in 5.5, then I would
add that to 6 instead of doing this effort you're doing now.
Filip
First: this *is* for migration. I have no interest in putting more time
into features for OACC. As you will have noticed, after adding the
fastasyncmode to OACC we efficiently went into maintenance mode and only
fixed problems detected in real life. No major new features were added.
The RELEASE-PLAN file I added to OACC clearly states, that there is no
plan to add new features to OACC.
Why not simply improving HA/Tribes? Because the time frames do not fit.
I expect about 6 to 12 more months, until we can be very confident in
the runtime behaviour of HA/Tribes. But I want to provide people a way
of moving forward with their critical applications during 2008. TC 6 in
general is ready for prime time and I want to help with that.
Why am I so pessimistic about reliability of HA/Tribes? The bigger part
is not specific to the existing HA/Tribes code. The argument is more
general: the code base is large and allows a lot of different
configuration combinations. So the amount of real usage needed to find
glitches is not small. On the other hand people only start using the TC
6 cluster. So I expect it'll take another 6 to 12 months for users to
provide us with enough experience. HA stability doesn't mean it runs
usually, it means it behaves well under unexpected conditions.
But I do not only have these very abstract concerns. There is room for
improvement and I'll happily help as I did in 2004 for the TC 5.0/5.5
cluster. Examples for improvements:
- monitoring (the old MBeans are gone and there's no good alternative)
- Java 5 dispatcher: it doesn't use a queue at the moment,
instead it uses a thread pool.
- we need to find out, if threads are to exensive for caching messages
in case replication gets slow or stuck
- We can easily run into ordering problems if we use a separate thread
for each message. I know there's an ordering interceptor, but
there's a big diference between you can optionally use it or you
have to use it to make replication correct.
- documentation: the huge flexibility of HA/Tribes needs for better
documentation
Important: I'm not blaming you! There's nothing to complain about at
all. You have put very much time into the old and into the new cluster,
and you contributed the two most attractive frontpage features for TC
(HA/Tribes and Comet). Without your work, there would be no cluster at
all. And I'm also offering to help. It's quite normal, that such a big
and young code base has room for improvement.
Also important: those examples are the ones that come to my mind from
having a recent look at HA/Tribes. More important for me those items is
the general fact above. The volume of the code and the configuration
complexity will require enough operating hours to find out those
problems, that we know are not able to think of.
In my opinion the biggest dilemma we face is:
Can we provide the OACC alternative, because at least one committer
thinks it is safer than HA/Tribes and at the same time convince new
cluster users to go the HA/Tribes way.
If you take a look at the text documnts I put into the trunk directory
of OACC I always stress the fact, that OACC is a migration step for
existing customer users. I definitely support the claim, that HA/Tribes
is much more powerful and flexible, and that the project as a whole will
put all development efforts into HA/Tribes and not into OACC. HA/Tribes
should stay the default and be bundled with each TC 6 download.
OACC could be an optional download for those who want or need to migrate
to TC 6 but prefer to stick to a cluster implmentation they got used to.
The nice thing is, that it will not hinder TC development. I carefully
committed the changes need to make TC 5.5 cluster TC 6 compatible in a
sequence of very simple commits. As one can see, the relationship
between OACC and Tomcat 6 is very straightforward. There's only one TC 6
class, which needed a single method addition. And we will get rid of
this too.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]