A bit of opinion from my side: On 22.10.2010 14:28, Leon Rosenberg wrote:
1. ressources - for the time you have both versions in parallel you'll have double resources need, double amount of db connections, double amount of memory etc. This means that the hosting has to sized accordingly, but hosting on 2times oversized machines just to save some seconds is very expensive.
It would, but they wouldn't need to oversize w.r.t. CPU and it's also not really true for memory. Often lots of memory goes to sessions and there the premium for the second context would be more like 10%.
DataSources can be shared even now between contexts, so should not be a problem between context versions.
2. time - the startup of the second instance will usually consume cpu resources. This can make the tomcat unresponsive. If the loadbalancer detects the unresponsiveness it will mark it as unavailable and switch all sessions anyway - nothing won. Usually you will have<30 seconds to perform the startup of the context.
I don't see a problem here. Startup is mostly single-threaded, hardware gets more and more concurrency.
3. end - a release needs an end. Having one user with open browser and continuos refresh shouldn't bind the resources forever.
I think we don't say that this solves the update problem for all applications and environments. Using state over a long time obviously is a problem for switching webapps. So devs have to reconsider how they construct their apps. E.g. often the session is only used as a kind of cache, but the data could be reconstructed from the user identity.
Short term I guess the multi version feature alone does already improve the situation for many users. And we should allow to forceably unload an old version, e.g. when administrators or scripts decide that it's no longer worth waiting for the few remaining sessions to eventually expire.
Mid term, it would be nice if we could migrate a session. By this I don't mean copy all session attributes over classloader boundaries, but maybe something like copying "simple" things, like strings. Apps could probably detect this and reconstruct the more complex objects from the basic info. Just an idea.
On the other hand, the same behavior is easily achieveable with a bit loadbalancer tuning and Vmware. Are you sure it is worth the effort?
I do experience very different user companies out there. Some of them are very good in building scripted automatisms and now very well how to do more complex operations with their load balancers. Some of them do not and would prefer a more out of the box approach. I expect the target to sit between the very small deployments and the very big ones. It's the people that started small and need to grow because of their success, but still do not have a big IT department, who I think will like the approach.
Regards, Rainer --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org