[Box-Admins] Re: SqueakSource

Chris Muller ma.chris.m at gmail.com
Mon Aug 26 22:08:15 UTC 2013


On Mon, Aug 26, 2013 at 3:52 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
>
> Am 26.08.2013 um 21:59 schrieb Chris Muller <ma.chris.m at gmail.com>:
>
>>>
>>>> As Dave mentioned, the immediate priority is simply ensuring continued
>>> operation of squeaksource.com.  He is heading up the transition to a new
>>> server this week whether that's box3, box4 (Gandi) or a server hosted by
>>> Robert's group.  If we cannot get it running on a new image and/or VM
>>> immediately, we'll just have to deal with the crashes/lockups until we can.
>>>>
>>>> While I think Squeak should host its own services, unfortunately what we
>>> have right now is unacceptably dangerous.  It appears someone has hacked
>>> our SqueakSource implementation to bypass its original design for
>>> persistence to use "image-based" persistence.  Image-based persistence, in
>>> itself, would be fine, except for the fact that our Linux-based SS system
>>> scripts carelessly KILL the SS process by PID as a means of opening the
>>> image under VNC -- potentially when the image could be in a half-saved
>>> state!
>>>
>>> Which SqS are you referring to? Fabrizio once send Andreas and Me a (then
>>> current) image of the squeaksource.com (SS.C) and
>>> IIRC, it just had VNC running, so you probably are referring to
>>> source.squeak.org (S.S.O)?
>>
>>  Sorry, I also do not understand what you mean by the original design
>>> being “hacked” for image-based persistence.
>>>
>>
>> Yes, I was referring to SSO, which is running a slightly newer/forked
>> version of SqueakSource and using the save-the-image persistence.
>
> What do you exactly mean by save-the-image-persistence? I ask, as I carefully
> hand-merged/back-ported/cross-ported features from SSO _and_ SSC to SS3 prior
> to its alpha release.

As you know SSStorage encapsulates the behaviors needed for back-end
storage support.
      loadMonticello:from:  -- "Answer the binary contents of the
original mcz file as a ByteArray."
      loadRepository -- "Answer the root object of this SqueakSource
instance, an instance of SSRepository."
      saveMonticello:of:to: -- "Save the mcz file contents contained
by aString."
      saveRepository: -- "Save the root SSRepository object into
persistent storage."
      shutdown -- "shutdown hook"

The SqueakSource instance supporting SSO has no senders of
#saveRepository: at all.  However in the image is a workspace
entitled:  "How this image was created" with this script:

"Save the image periodically"
guardian ifNotNil:[guardian terminate].
guardian := [
     [true] whileTrue:[
          "Synchronized with Morphic please"
          Smalltalk future snapshot: true andQuit: false.
          (Delay forSeconds: 60 minutes asSeconds) wait
     ].
] fork.

I think the reason for doing this was performance, since SSFilesystem
does its work in the background, I'm not sure..

>> Yes, I'd planned for each SSProject to have its own McModel instance, so
>> access is allowed only through the existing Project level ACL.
>
> sure, but do only acl-accessible versions get added to the McModel instance
> or every 'reachable' ancestor?

Only the acl-accessible versions.  Just as each Project has its own
directory when using a SSFilesystem, each Project has its own McModel
when using a SSMagma.  There are no cross-links to objects for other
Projects in either case.

 - Chris


More information about the Box-Admins mailing list