Hi -
Our local Squeaksource installation has recently taken a turn to the worse, probably because we hit some magic number of packages or versions or so. While in the past we needed to restart SS about 2-3 times a week, it has recently gone up to needing a restart twice a day (we get emails whenever that happens so I'm not just imagining this). Help! This is completely unusable. If I hadn't added my little patch that recovers the versions involved in the lock up there would be open mutiny here by now. How can you run a Squeaksource installation with a *bit* of stability? Thanks, - Andreas |
Andreas Raab wrote:
> Hi - > > Our local Squeaksource installation has recently taken a turn to the > worse, probably because we hit some magic number of packages or versions > or so. While in the past we needed to restart SS about 2-3 times a week, > it has recently gone up to needing a restart twice a day (we get emails > whenever that happens so I'm not just imagining this). > > Help! This is completely unusable. If I hadn't added my little patch > that recovers the versions involved in the lock up there would be open > mutiny here by now. How can you run a Squeaksource installation with a > *bit* of stability? Welcome to the club. I used the latest squeaksource version for sophieproject (lots and lots of packages and versions) that also runs on the esug server (I think) and added all your patches. It seems to be really stable, so your patches seem to work their magic :-) The only thing that makes problems is that it screws up the web connection (see previous postings). And we use image storage, which sucks big time as we already ran into the problem that on a rare bug the image got saved with the debugger open and caused problems. We don't have the resources right now to try out the Magma backend Bert did a while ago. Michael |
In reply to this post by Andreas.Raab
2007/10/2, Andreas Raab <[hidden email]>:
> Hi - > > Our local Squeaksource installation has recently taken a turn to the > worse, probably because we hit some magic number of packages or versions > or so. While in the past we needed to restart SS about 2-3 times a week, > it has recently gone up to needing a restart twice a day (we get emails > whenever that happens so I'm not just imagining this). > > Help! This is completely unusable. If I hadn't added my little patch > that recovers the versions involved in the lock up there would be open > mutiny here by now. How can you run a Squeaksource installation with a > *bit* of stability? Hey, it's open source man! Either pay me a million dollars of fix it yourself. If you want something reliable use professional software like Apache + WebDAV or Gemstone. *just kidding* I don't want to point fingers but all the information we have so far hints that the bug is not in SqueakSource but in Squeak itself or the VM (Sockets, Delays, Semaphores, ....). If you have some evidence that points to SqueakSource I'll be happy to look into it. Cheers Philippe > Thanks, > - Andreas > > |
Philippe Marschall wrote:
> I don't want to point fingers but all the information we have so far > hints that the bug is not in SqueakSource but in Squeak itself or the > VM (Sockets, Delays, Semaphores, ....). If you have some evidence that > points to SqueakSource I'll be happy to look into it. Well, part of the problem is that SqueakSource doesn't have a reliable storage solution. The serialization doesn't scale and <flame bait> image storage is one of the dumbest things that I ever came across. </flame bait> Michael |
In reply to this post by Andreas.Raab
Would you mind giving us some idea of the volume of packages/versions
that seems to have pushed you over the edge? Ken On Tue, 2007-10-02 at 11:10 -0700, Andreas Raab wrote: > Hi - > > Our local Squeaksource installation has recently taken a turn to the > worse, probably because we hit some magic number of packages or versions > or so. While in the past we needed to restart SS about 2-3 times a week, > it has recently gone up to needing a restart twice a day (we get emails > whenever that happens so I'm not just imagining this). > > Help! This is completely unusable. If I hadn't added my little patch > that recovers the versions involved in the lock up there would be open > mutiny here by now. How can you run a Squeaksource installation with a > *bit* of stability? > > Thanks, > - Andreas > > signature.asc (196 bytes) Download Attachment |
Ken Causey wrote:
> Would you mind giving us some idea of the volume of packages/versions > that seems to have pushed you over the edge? Not sure how to do this. Just checking the number of versions via: find . -name '*.mcz' -print | wc -l says some 6500+ versions right now. Not sure how helpful this is. Cheers, - Andreas > > Ken > > On Tue, 2007-10-02 at 11:10 -0700, Andreas Raab wrote: >> Hi - >> >> Our local Squeaksource installation has recently taken a turn to the >> worse, probably because we hit some magic number of packages or versions >> or so. While in the past we needed to restart SS about 2-3 times a week, >> it has recently gone up to needing a restart twice a day (we get emails >> whenever that happens so I'm not just imagining this). >> >> Help! This is completely unusable. If I hadn't added my little patch >> that recovers the versions involved in the lock up there would be open >> mutiny here by now. How can you run a Squeaksource installation with a >> *bit* of stability? >> >> Thanks, >> - Andreas >> >> >> >> ------------------------------------------------------------------------ >> >> |
Thanks,
That gives me ~2100 for source.squeakfoundation.org currently. I'll just note that restarts for that site are quite low, maybe on the order of once every 2-3 months. And most of those have been due to some mistake on my part like leaving a Transcript open. Ken On Tue, 2007-10-02 at 12:46 -0700, Andreas Raab wrote: > Ken Causey wrote: > > Would you mind giving us some idea of the volume of packages/versions > > that seems to have pushed you over the edge? > > Not sure how to do this. Just checking the number of versions via: > > find . -name '*.mcz' -print | wc -l > > says some 6500+ versions right now. Not sure how helpful this is. > > Cheers, > - Andreas > > > > > Ken > > > > On Tue, 2007-10-02 at 11:10 -0700, Andreas Raab wrote: > >> Hi - > >> > >> Our local Squeaksource installation has recently taken a turn to the > >> worse, probably because we hit some magic number of packages or versions > >> or so. While in the past we needed to restart SS about 2-3 times a week, > >> it has recently gone up to needing a restart twice a day (we get emails > >> whenever that happens so I'm not just imagining this). > >> > >> Help! This is completely unusable. If I hadn't added my little patch > >> that recovers the versions involved in the lock up there would be open > >> mutiny here by now. How can you run a Squeaksource installation with a > >> *bit* of stability? > >> > >> Thanks, > >> - Andreas > >> > >> > >> > >> ------------------------------------------------------------------------ > >> > >> > > > signature.asc (196 bytes) Download Attachment |
In reply to this post by Philippe Marschall
Philippe Marschall wrote:
> 2007/10/2, Andreas Raab <[hidden email]>: >> Help! This is completely unusable. If I hadn't added my little patch >> that recovers the versions involved in the lock up there would be open >> mutiny here by now. How can you run a Squeaksource installation with a >> *bit* of stability? > > Hey, it's open source man! Either pay me a million dollars of fix it yourself. > > If you want something reliable use professional software like Apache + > WebDAV or Gemstone. > > *just kidding* Well, I'm not. I'd be perfectly happy to pay my share if someone were to offer a solution that actually works. Not quite a million dollars but a couple of hundred for sure. After all it's our source repository we are talking about. > I don't want to point fingers but all the information we have so far > hints that the bug is not in SqueakSource but in Squeak itself or the > VM (Sockets, Delays, Semaphores, ....). If you have some evidence that > points to SqueakSource I'll be happy to look into it. Thanks I'll try this. I hadn't applied these changes to that particular image (mostly because I try to touch a working installation as little as possible) but to the best of my understanding of the situation the problem always occurs when it tries to save a snapshot of the data. Which is really not that surprising if you consider what I wrote a while back about saves being locked against each other but not serialized with incoming modification requests. Cheers, - Andreas |
In reply to this post by Ken Causey-3
www.squeaksource.com has almost 1000 projects with more than 25000 versions.
It works without problems for years now. The only issue we recently had could be fixed by loading the Semaphore patches of Andreas. The image storage works very reliable, we never had a problem with that. Lukas -- Lukas Renggli http://www.lukas-renggli.ch |
Hi Lukas -
Let's leave the storage alone for a second, what I'm really curious about is how Squeaksource protects against concurrent modifications. I don't know all that much about Seaside but as far as I know Seaside doesn't have any builtin mechanism to deal with serialization of concurrent requests and there doesn't seem to be any request serialization in SSRepository that I can see. So how exactly does this work? My big suspicion is that the SSFileRepository>>saveRepository: interacts with concurrent modifications of that very same repository. That suspicion is mostly due to: * me not understanding how Seaside / Squeaksource protect against concurrent modifications internally * the singular use of a single critical section for saves only (!) * the priority of the save being lower than normal which ensures that (unless there are other means of synchronization that I am not aware of) any request that comes in during the save *will* concurrently modify the repository being written. I don't think any of this has to do with Semaphore or Delay issues (although these issues certainly don't help the situation); it's just plain concurrency issues. Cheers, - Andreas Lukas Renggli wrote: > www.squeaksource.com has almost 1000 projects with more than 25000 versions. > > It works without problems for years now. The only issue we recently > had could be fixed by loading the Semaphore patches of Andreas. > > The image storage works very reliable, we never had a problem with that. > > Lukas > |
> * me not understanding how Seaside / Squeaksource protect against
> concurrent modifications internally Seaside serializes requests for a single session. It does not serialize requests among multiple sessions. > * the singular use of a single critical section for saves only (!) I don't remember exactly what SqueakSource is doing. I don't have an image accessible right here, but maybe Philippe can comment on that? > * the priority of the save being lower than normal which ensures that > (unless there are other means of synchronization that I am not aware of) > any request that comes in during the save *will* concurrently modify the > repository being written. I see, you are using the reference-stream serialization. www.squeaksource.com had to drop that approach after a few months, because it got far too slow (today it takes minutes to serialize the whole model). As I said, we are just saving the image. Lukas -- Lukas Renggli http://www.lukas-renggli.ch |
In reply to this post by Andreas.Raab
2007/10/2, Andreas Raab <[hidden email]>:
> Philippe Marschall wrote: > > 2007/10/2, Andreas Raab <[hidden email]>: > >> Help! This is completely unusable. If I hadn't added my little patch > >> that recovers the versions involved in the lock up there would be open > >> mutiny here by now. How can you run a Squeaksource installation with a > >> *bit* of stability? > > > > Hey, it's open source man! Either pay me a million dollars of fix it yourself. > > > > If you want something reliable use professional software like Apache + > > WebDAV or Gemstone. > > > > *just kidding* > > Well, I'm not. I'd be perfectly happy to pay my share if someone were to > offer a solution that actually works. Not quite a million dollars but a > couple of hundred for sure. After all it's our source repository we are > talking about. If you don't need the whole web frontend but only a Monticello repository nothing beats Apache. If you want the whole ACID stuff: http://seaside.gemstone.com/ss Runs on Gemstone/S 64. All commits are transactions. If something goes wrong, in the worst case you loose your last request. If your last request was a commit you'll get a Monticello error and have to republish. You are limited to a size of 4 GB though, for anything beyond that the free version doesn't work anymore. Additionally SqueakSource won't run with the latest Seaside version (there is a new one in the works though) and there is no upgrade path from your existing installation. Somewhere between this and your current solution is the Magma backend Bert did: http://source.impara.de/ss I don't know of any users of this. > > I don't want to point fingers but all the information we have so far > > hints that the bug is not in SqueakSource but in Squeak itself or the > > VM (Sockets, Delays, Semaphores, ....). If you have some evidence that > > points to SqueakSource I'll be happy to look into it. > > Thanks I'll try this. I hadn't applied these changes to that particular > image (mostly because I try to touch a working installation as little as > possible) but to the best of my understanding of the situation the > problem always occurs when it tries to save a snapshot of the data. > Which is really not that surprising if you consider what I wrote a while > back about saves being locked against each other but not serialized with > incoming modification requests. An option to try wout be to fork() the image with OSProcess before saving the model. This ensures there are no concurrent modifications. We don't do this because it doesn't work on the Mac VM. Cheers Philippe |
In reply to this post by Lukas Renggli
2007/10/2, Lukas Renggli <[hidden email]>:
> > * me not understanding how Seaside / Squeaksource protect against > > concurrent modifications internally > > Seaside serializes requests for a single session. It does not > serialize requests among multiple sessions. > > > * the singular use of a single critical section for saves only (!) > > I don't remember exactly what SqueakSource is doing. I don't have an > image accessible right here, but maybe Philippe can comment on that? The model itself is totally unprotected against concurrent modifications and I'm surprised that this hasn't yet led to conflicts. Note that the caching thread does concurrent modifications as well, again totally unsynchronized. Gemstone has transactions so from time to time in case of a conflict a gem falls over and is automatically restarted. > > * the priority of the save being lower than normal which ensures that > > (unless there are other means of synchronization that I am not aware of) > > any request that comes in during the save *will* concurrently modify the > > repository being written. Maybe I misunderstood the Squeak process model but won't a process waiting for IO be unscheduled anyway? > I see, you are using the reference-stream serialization. > www.squeaksource.com had to drop that approach after a few months, > because it got far too slow (today it takes minutes to serialize the > whole model). 'Took more than half an hour at ESUG. Cheers Philippe > As I said, we are just saving the image. > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > |
In reply to this post by Philippe Marschall
On Wed, Oct 03, 2007 at 06:50:08AM +0200, Philippe Marschall wrote:
> > An option to try wout be to fork() the image with OSProcess before > saving the model. This ensures there are no concurrent modifications. > We don't do this because it doesn't work on the Mac VM. Philippe, Are you sure that this does not work? I don't have a Mac to test, but I've had several people send me test results that show the fork primitives working on Mac VMs, so I would have expected the #saveImageInBackgroundNicely method to work on Mac. I'd appreciate any feedback one way or the other. Thanks, Dave |
In reply to this post by Michael Rueger-4
Hi mike
do you know if the fixes of andreas have been integrated to the current version? Stef On 2 oct. 07, at 21:15, Michael Rueger wrote: > Andreas Raab wrote: >> Hi - >> Our local Squeaksource installation has recently taken a turn to >> the worse, probably because we hit some magic number of packages >> or versions or so. While in the past we needed to restart SS about >> 2-3 times a week, it has recently gone up to needing a restart >> twice a day (we get emails whenever that happens so I'm not just >> imagining this). >> Help! This is completely unusable. If I hadn't added my little >> patch that recovers the versions involved in the lock up there >> would be open mutiny here by now. How can you run a Squeaksource >> installation with a *bit* of stability? > > Welcome to the club. > I used the latest squeaksource version for sophieproject (lots and > lots of packages and versions) that also runs on the esug server (I > think) and added all your patches. > It seems to be really stable, so your patches seem to work their > magic :-) > > The only thing that makes problems is that it screws up the web > connection (see previous postings). > > And we use image storage, which sucks big time as we already ran > into the problem that on a rare bug the image got saved with the > debugger open and caused problems. We don't have the resources > right now to try out the Magma backend Bert did a while ago. > > > Michael > > > |
In reply to this post by Michael Rueger-4
May be this would be the time for some companies to gather money and
pay lukas or somebody else improving SS? Stef > Philippe Marschall wrote: > >> I don't want to point fingers but all the information we have so far >> hints that the bug is not in SqueakSource but in Squeak itself or the >> VM (Sockets, Delays, Semaphores, ....). If you have some evidence >> that >> points to SqueakSource I'll be happy to look into it. > > Well, part of the problem is that SqueakSource doesn't have a > reliable storage solution. The serialization doesn't scale and > <flame bait> > image storage is one of the dumbest things that I ever came across. > </flame bait> > > Michael > > |
> May be this would be the time for some companies to gather money and
> pay lukas or somebody else improving SS? Send the money to Philippe, he worked on and improved SqueakSource during last few years. Philippe also has a version under progress that works with Magritte and the latest Seaside ;-) Lukas -- Lukas Renggli http://www.lukas-renggli.ch |
2007/10/3, Lukas Renggli <[hidden email]>:
> > May be this would be the time for some companies to gather money and > > pay lukas or somebody else improving SS? > > Send the money to Philippe, he worked on and improved SqueakSource > during last few years. Philippe also has a version under progress that > works with Magritte and the latest Seaside ;-) Nah, money doesn't really change anything for Philippe. This would also cause problems with his employer. Cheers > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > |
In reply to this post by Philippe Marschall
I haven't looked at what Bert did, but it's also interesting to note
that, other than using Magma as a SS backend, it was designed to BE a Monticello repository. In this way, just as objects are state plus behavior, a Magma repository is (or, should be) an object-model plus the code-base to operate those objects. After installing Magma, additional menu options appear on Monticello's "+Repository" menu for adding a Magma repository. I've tested it but not heavily because the Right Thing To Do (tm) is store the MC object model directly, not copies of entire serialized packages of every version. If you change three methods for a particular version, then Monticello should only create three new McMethod objects (whatever) in the new snapshot, all others should refer to the same identical ones of the previous verion. This approach is a lot less wasteful than saving full copies every time, and would permit snappy performance from Magma given the small commits. Magma does also let you file-out individual classes and change sets along-side the MC packages in the same repository with convenience methods for browsing them before you install.. On 10/3/07, Philippe Marschall <[hidden email]> wrote: > 2007/10/2, Andreas Raab <[hidden email]>: > > Philippe Marschall wrote: > > > 2007/10/2, Andreas Raab <[hidden email]>: > > >> Help! This is completely unusable. If I hadn't added my little patch > > >> that recovers the versions involved in the lock up there would be open > > >> mutiny here by now. How can you run a Squeaksource installation with a > > >> *bit* of stability? > > > > > > Hey, it's open source man! Either pay me a million dollars of fix it yourself. > > > > > > If you want something reliable use professional software like Apache + > > > WebDAV or Gemstone. > > > > > > *just kidding* > > > > Well, I'm not. I'd be perfectly happy to pay my share if someone were to > > offer a solution that actually works. Not quite a million dollars but a > > couple of hundred for sure. After all it's our source repository we are > > talking about. > > If you don't need the whole web frontend but only a Monticello > repository nothing beats Apache. > > If you want the whole ACID stuff: > http://seaside.gemstone.com/ss > Runs on Gemstone/S 64. All commits are transactions. If something goes > wrong, in the worst case you loose your last request. If your last > request was a commit you'll get a Monticello error and have to > republish. You are limited to a size of 4 GB though, for anything > beyond that the free version doesn't work anymore. Additionally > SqueakSource won't run with the latest Seaside version (there is a new > one in the works though) and there is no upgrade path from your > existing installation. > > Somewhere between this and your current solution is the Magma backend Bert did: > http://source.impara.de/ss > I don't know of any users of this. > > > > I don't want to point fingers but all the information we have so far > > > hints that the bug is not in SqueakSource but in Squeak itself or the > > > VM (Sockets, Delays, Semaphores, ....). If you have some evidence that > > > points to SqueakSource I'll be happy to look into it. > > > > Thanks I'll try this. I hadn't applied these changes to that particular > > image (mostly because I try to touch a working installation as little as > > possible) but to the best of my understanding of the situation the > > problem always occurs when it tries to save a snapshot of the data. > > Which is really not that surprising if you consider what I wrote a while > > back about saves being locked against each other but not serialized with > > incoming modification requests. > > An option to try wout be to fork() the image with OSProcess before > saving the model. This ensures there are no concurrent modifications. > We don't do this because it doesn't work on the Mac VM. > > Cheers > Philippe > > |
This sounds cool. Perhaps MC2 should take a hard look at better
integration with Magma. On 10/4/07, Chris Muller <[hidden email]> wrote: > I haven't looked at what Bert did, but it's also interesting to note > that, other than using Magma as a SS backend, it was designed to BE a > Monticello repository. In this way, just as objects are state plus > behavior, a Magma repository is (or, should be) an object-model plus > the code-base to operate those objects. > > After installing Magma, additional menu options appear on Monticello's > "+Repository" menu for adding a Magma repository. I've tested it but > not heavily because the Right Thing To Do (tm) is store the MC object > model directly, not copies of entire serialized packages of every > version. If you change three methods for a particular version, then > Monticello should only create three new McMethod objects (whatever) in > the new snapshot, all others should refer to the same identical ones > of the previous verion. This approach is a lot less wasteful than > saving full copies every time, and would permit snappy performance > from Magma given the small commits. > > Magma does also let you file-out individual classes and change sets > along-side the MC packages in the same repository with convenience > methods for browsing them before you install.. > > > On 10/3/07, Philippe Marschall <[hidden email]> wrote: > > 2007/10/2, Andreas Raab <[hidden email]>: > > > Philippe Marschall wrote: > > > > 2007/10/2, Andreas Raab <[hidden email]>: > > > >> Help! This is completely unusable. If I hadn't added my little patch > > > >> that recovers the versions involved in the lock up there would be open > > > >> mutiny here by now. How can you run a Squeaksource installation with a > > > >> *bit* of stability? > > > > > > > > Hey, it's open source man! Either pay me a million dollars of fix it yourself. > > > > > > > > If you want something reliable use professional software like Apache + > > > > WebDAV or Gemstone. > > > > > > > > *just kidding* > > > > > > Well, I'm not. I'd be perfectly happy to pay my share if someone were to > > > offer a solution that actually works. Not quite a million dollars but a > > > couple of hundred for sure. After all it's our source repository we are > > > talking about. > > > > If you don't need the whole web frontend but only a Monticello > > repository nothing beats Apache. > > > > If you want the whole ACID stuff: > > http://seaside.gemstone.com/ss > > Runs on Gemstone/S 64. All commits are transactions. If something goes > > wrong, in the worst case you loose your last request. If your last > > request was a commit you'll get a Monticello error and have to > > republish. You are limited to a size of 4 GB though, for anything > > beyond that the free version doesn't work anymore. Additionally > > SqueakSource won't run with the latest Seaside version (there is a new > > one in the works though) and there is no upgrade path from your > > existing installation. > > > > Somewhere between this and your current solution is the Magma backend Bert did: > > http://source.impara.de/ss > > I don't know of any users of this. > > > > > > I don't want to point fingers but all the information we have so far > > > > hints that the bug is not in SqueakSource but in Squeak itself or the > > > > VM (Sockets, Delays, Semaphores, ....). If you have some evidence that > > > > points to SqueakSource I'll be happy to look into it. > > > > > > Thanks I'll try this. I hadn't applied these changes to that particular > > > image (mostly because I try to touch a working installation as little as > > > possible) but to the best of my understanding of the situation the > > > problem always occurs when it tries to save a snapshot of the data. > > > Which is really not that surprising if you consider what I wrote a while > > > back about saves being locked against each other but not serialized with > > > incoming modification requests. > > > > An option to try wout be to fork() the image with OSProcess before > > saving the model. This ensures there are no concurrent modifications. > > We don't do this because it doesn't work on the Mac VM. > > > > Cheers > > Philippe > > > > > > |
Free forum by Nabble | Edit this page |