geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Mulder <>
Subject Re: [POLL] API and Implementation serialization compatibility and upgrading
Date Sat, 14 May 2005 22:32:52 GMT
	I'd like some more information before answering this poll.  
Namely, what exactly is serialized?  I guess I was under the impression
that "configuration information" was serialized.  You make it sound like,
for example, ActiveMQ itself is serialized.  Shouldn't we be able to
serialize a bunch of settings (port=61616, active transport 1 =
vm://localhost, active transport 2 = tcp://localhost:61616, ...) and apply
those to version N+1 of ActiveMQ, so long as it didn't remove settings we
use or add new required ones without defaults that we don't use?  Are we 
just not doing that?  I guess I need to take a closer look.

	Also, wearing my end user hat, I'm not as concerned about this
issue as stated -- Every time I upgrade, for example, JBoss, I install it
into a new directory, reapply any configuration changes, and redeploy my
apps.  It might be different if the product offered an "upgrade in place"
install option.  Still, I upgrade pretty rarely.  So an easy upgrade path 
is probably for me, at best, a "nice to have".

	I'm more concerned about the inability to conveniently edit 
serialized configuration information, which I hope to take up on the other 
thread that Jeremy was going to start.  That is a lot more of a common 
issue for me -- more of a "must have".


On Sat, 14 May 2005, David Blevins wrote:
> I really want to get some feedback from the developers, users, lurkers,
> other projects and everyone on this subject.  It shouldn't be a taboo to
> talk about or considered a "can of worms" or a "hot button."  It affects
> the project at pretty fundamental level, so I think it would be good if
> we did our best to get feedback.
> The problem:
>   Upgrading apps between versions of Geronimo and it's integrated
>   projects is not currently possible without a redeploy.
> The facts:
>   - Our deploy system and storage of deployed apps is serialization based.
>   - At deploy time we build and Jetty web containers, Tomcat web containers, ActiveMQ
queues/topics, OpenEJB ejb containers, Axis webservices, TranQL connectors and more
>   - We serialize those objects which include not just what they consider to be their
public APIs but also the private implementations of those APIs.
> The tricky part:
>   - We, qualified in alphabetical order, ActiveMQ, Axis, Geronimo, Jetty, OpenEJB, Tomcat,
TranQL, et. al. cannot change our public API *or* private Implementation of our APIs and still
deserialize objects from a previous version.
>   - Unless we (the projecst above) agree not to bug fix, optimize, refactor, repackage,
or reorganize our code in a way that would break deserialization of objects created with a
previous versions of our code, it will not be possible to upgrade applications leveraging
these projects without a redeploy.
>   [ ]  We will do our best to ensure the implementations of our APIs are serialization
compatible to future versions of our code.
>   [ ]  We do our best to ensure our public APIs, but use of our implementations in such
a way is not supported by us.
>   [ ]  I do not mind redeploying my applications on each upgrade of Geronimo et. al.
>   [ ]  I do not want to start from scratch on each upgrade of Geronimo et. al.
> -David

View raw message