[Pharo-project] Fuel serialization - feature/bug

Martin Dias tinchodias at gmail.com
Tue Jun 14 04:15:23 EDT 2011


Hi Yanni

On Tue, Jun 14, 2011 at 3:12 AM, Yanni Chiu <yanni at rogers.com> wrote:

> On 13/06/11 6:56 PM, Yanni Chiu wrote:
>
>> On 13/06/11 5:49 PM, Mariano Martinez Peck wrote:
>>
>>>
>>> mmmmmm so you are using a stream to serialize and such stream is also
>>> being refenced from the object to serialize?
>>>
>>
>> Yes, that's it - except that the stream is an FSWriteStream on a
>> FSMemoryStore "file", which I think is an issue here. The PRKernel is
>> holding an instance of PRFuelPersistency, which holds an FSReference.
>> That FSReference happens to refer to a memory-based "file".
>>
>
> The code is at http://ss3.gemstone.com/ss/pierfuel.html
>
> You'll first need a Pier image, with the following loaded:
>
> (ConfigurationOfFilesystem project version:  '2.0.1-baseline') load
>
> (ConfigurationOfFuel project version:  '1.4') load
>  OR
> (ConfigurationOfFuel project version:  '1.5-baseline') load
>
> If you run PRFuelPersistencyTest, then you'll see the stack trace. I saw
> the same problem with 1.4 and with 1.5-baseline.
>
> In the 1.5-baseline, I added #fuelIgnoredInstanceVariableNames to
> PRFuelPersistency and FSMemoryStore (to ignore 'directory' and 'root',
> respectively) but the same problem remained. So I think it's a bug.
>

I didn't try in the Pier image, but I hope your problem is fixed with the
last version (Fuel-MartinDias.259).

serialize the stream where you are serializing is a test case I had never
thought!

BTW, is it fine to get nil on these variables? I mean, is the FSMemoryStore
materialized useful?


>
> Despite the test failing, the PRFuelPersistency works as expected to
> save/restore a Pier kernel to/from a file. The file is 30 times smaller than
> the corresponding (uncompressed) SIXX file.
>

good! so it can be useful for scenarios where you don't need to be
cross-dialect or to have XML format.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20110614/30210218/attachment-0001.html>


More information about the Pharo-dev mailing list