On Mon, Mar 2, 2009 at 9:24 AM, Yves Jaradin <[email protected]>wrote:
> Torsten Anders a écrit : > >> Hi, >> >> On Aug 19, 2008, at 10:24 AM, Torsten Anders wrote: >> >>> On Aug 19, 2008, at 9:39 AM, Yves Jaradin wrote: >>> >>>> Torsten Anders a écrit : >>>> >>>>> Are the pickles of Mozart 1.3.* and 1.4.* incompatible? >>>>> >>>> Yes they are incompatible. >>>> >>> >> >> I have been repeatedly been bitten by this issue meanwhile. Is there any >> design reason for this incompatibility? >> > Partially. > The marshaller is common to the pickling subsystem and the distribution > subsystem. Because of the large changes in the distribution subsystem in > 1.4.0, the marshaller version had to be bumped wich, as a side effect, made > the pickles incompatible. I think most, if not all, 1.3.2 pickles could be > used in 1.4.0 if it wasn't for the format version (two bytes in the first > few of the pickle). But the other way there will be some problems (e.g. if > you pickled sites). To be more precise, both the marshaler and the pickler share a common code base. They essentially differ on how they handle language entities that may have a distributed behavior: variables, stateful entities, stateless entities that are not copied across sites. If I am not mistaken, all the stateless entities that can be copied across sites are pickled just like in Mozart 1.3.2. So I think that the pickler in Mozart 1.4.0 is able to unpickle pickles made with Mozart 1.3.2. The other way around is not possible, though. Someone should check the code to validate this statement, and maybe relax the version compatibility test to allow it. (I vaguely remember to have tried it, but could not find any trace.) However, the marshaler is not backward-compatible, and should not be. This is because the distribution layer is completely different. The marshaling has been redesigned from scratch to cope with the new distribution features (different protocols, new distributed garbage collectors, different coordination architecture). Cheers, raph
_________________________________________________________________________________ mozart-users mailing list [email protected] http://www.mozart-oz.org/mailman/listinfo/mozart-users
