On Wed, Mar 31, 2004 at 03:33:19PM +0200, Leo Sutic wrote: > 2. Reloading > > When I first read about this framework the plan was to > simply drop the block when it was being reloaded, no matter > if it was currently executing a method call, or whatever. > > Then after some discussion the idea was to keep the new block > and the old block side by side and gradually phase out the > old block as it was released by clients. > > However, I think this will lead to unpredictable behavior. > This type of lazy reloading will cause problems, even more > problems than the usual ones you get when reloading classes.
Keep this "Crash-Only Software" paper in mind: http://www.stanford.edu/~candea/papers/crashonly/crashonly.html Gracefull reloads would be very nice, but only if we can guarantee that we can quarantine against the problems that Leo details. What if we made crash-only (immediate drop and add) the default for safety, and then make it possible via special documentation, practices, and interfaces to support gracefull reloads of only certain carefully constructed blocks where it is worth the effort. --Tim Larson
