Rainer, all are very good thoughts. Here is why I opt we still move forward

1. If we don't primary/secondary will not be available until TC.6
2. TC 6 doesn't have a skeleton nor a date yet.
3. Many people are opting out of clustering today because of lack of primary/sec. all-to-all is too inefficient for the general public 4. Many of the needed features needed for a more complete clustering solution are not possible today due to the tight coupling between components. 5. The instability caused in 5.5.10-5.5.14 could have easily been detected and should have not lasted for four releases. I doubt we should see that again. 6. I'm ready and have the time and commitment to support any changes I make. I am happy to have a 5.5.15-cluster branch for bug fixes This way when 5.5.16 comes out, the users can choose which one to use. But I would be stretching myself thin trying to maintain two code bases. This maintenance branch is easy to create, just branch the entire cluster module plus ClusterRuleSet.java, and it is complete.

The main reason being that I don't think I would want to wait for TC6 to provide primary/secondary replication. I also don't think that users wanting more features should suffer because of previous lack of testing.

To delay this out of plain "fear of breaking" doesn't seem reasonable to me, if the code base is so messed up that we are too afraid to "touch" it, then it needs to be fixed sooner than later.

I have no problem putting this up for a vote, but so far, the only justifications are concerns, when I believe I can offer more features and an easier codebase to maintain.

Filip

Rainer Jung wrote:
Hi Filip, hi all developers,

I think TC clustering from a users perspective got more robust in the last two years. Whe we started playing around with it in 2004 it was great, that we all basic functionality already worked, but you might remember, that I contributed a couple of fixes to make DeltaManager finally work in around 5.0.27.

When we started to check robustness for mission-critical production I found some limitations, that made clustering (in our use case) a little fragile, and I'm thankful to Peter, that he included the fastasync replication mode.

During early stages of 5.5 the amount of changes to cluster introduced some instability and finally broke it (the compression change), but the bugs were resolved very quickly after user feedback. At the end everyone was confident, that TC cluster was stable again starting from 5.5.15.

At the moment TC 5.5 core is in maintenance mode. Commiters for core Tomcat usually only apply bug changes to 5.5, no major changes were applied to the core parts. So the release schedule for 5.5 is mainly correlated to bug fixes.

Major Changes to TC cluster might result in a conflict between TC releases (bug driven) and Cluster releases (refactoring driven), at least as long as TC core and the cluster module are released together.

So I would also very much appreciate a conservative refactoring and enhancement strategy for 5.5 cluster. Major changes (better: risk) should be directly done in TC 6 (which is not that far away).

I agree, taht there is a lot of code refactoring necessary for the cluster as a basis for adding more and important functionality.

But in the last two years the amount of people doing real production with TC cluster increased a lot. I think it would really help to have a conservatively maintained branch and one that is open for the very much needed restructuring of the code.

What do you think?

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to