For the last month or so since the International Smalltalk Developers Conference, I have been busy working on the Single Session per VM project trying to get to the point were I can validate the approach. It was straightforward to make the necessary changes to Seaside, but I literally spent more time trying to figure out how to get session affinity to work with FastCGI in lighttpd.
Once I had the basic prototype working I needed to really hammer the server, but neither siege nor jcrawler does a good enough job (siege doesn’t crawl a site and jcrawler sends concurrent requests for the same Seaside session) so I started work on a Seaside-aware load testing tool called scrawler. Scrawler needs a a real good HTTP client and the HTTP client (HyHTTPClient) in the latest version of Hyper from Bruce Badger is perfect – which explains why I was porting the latest versions of Sport and Hyper to GLASS last week.
Over the weekend Dario Trussardi reported a problem with MAFileDescription which turned into Bug39648 and a few other GemStone-specific issues related to MAExternalFile model. By Monday, I’d resolved Dario’s problem and I figured what the heck, while I was in the neighborhood I might as well merge in the latest Magritte code from Lukas. And while I’m merging code from Lukas, I might as well pick up the latest code for Scriptaculous and Pier.
The ink wasn’t even dry on my Pier merge, when I received mail from Doru, announcing Pier 1.0.17. Talk about synchronicity. Had events (spanning the globe) been conspiring all month long to converge at this moment in time?….Nope, but we do have a pending final release for GemStone/S 64 version 2.3, so I got my giddy up on and updated to Pier 1.0.17.
After the smoke cleared, I ended up including a number of new packages in the GLASS package:
- Pier-Design-tg.5, Pier-Documents-lr.7, Pier-Google-lr.5, Pier-LightBox-dc.6, Pier-Randomizer-lr.4, Pier-TagCloud-lr.11, Pier-Titles-tg.1, Pier-Twitter-lr.7 Pier-Setup-tg.30 to conform with Pier 1.0.17.
- XML-Parser.g-dkh.14 for Pier-Twitter support.
The following bug fixes are also included in this update:
- Bug39648 – FileDirectory>>forceNewFileNamed: doesn’t ensure creation of subdirectories.
- Bug39357 – appliance 1.0 beta10 gems get commit conflicts on first startup.
- Bug39413 – ‘Magritte implements #description: which interferes with subclass creation’.
- fixed duration string generation (RSRSS2) from Philippe Marschall.
- MAFileDescription upload problem reported by Dario Trussardi.
The update is published as GLASS-dkh.122 (2.2.5) and GLASS.230-dkh.162 (2.3 beta 2 or 1.0beta10). These two versions can be used with GemStone-jgf.291 (Squeak client) or later. All of the versions can be found in the GLASS project on GemSource. If you are running with a version of the GLASS package that is earlier than GLASS-dkh.118 or GLASS.230-dkh.146, then you need to follow these instructions first. After loading the GLASS package you should evaluate the following two expressions in a workspace:
- MADescriptionBuilder initialize.
- PRDistribution new register.
The first expression picks up some new initialization code and the second expression installs Pier 1.0.17 as a Seaside application.
In GemStone-obi.293 Gerhard Obermann changed the layout of the Transcript Window to allow more buttons, added a Find Substring button, and arranaged for SHIFT-click on the Debug button to empty the Object Log. Personally, I’ve moved to this version of the Squeak client as I think it is an improvement.
If you are running in 2.3 beta 2 or 1.0beta10 then you only need to load GemStone-obi.293 into your Squeak client, save the Squeak image and you are done.
If you are running in a 2.2.5 repository then you have a couple of options:
- Download the single-click Squeak client for 2.2 (download) from GLASS downloads and then load GemStone-obi.293. RECOMMENDED.
- Update your existing Squeak image (presumably using GemStone-dkh.283)
- start the Squeak client image.
- load GemStone-obi.293.
- save the image and exit.
- copy (or use a symbolic link) the GCI library (location in top pane of the Login Window) to a file named gciForLinux.so, gciForMacintosh.so or gciForWindows.dll, depending upon your client platform.
- restart the image and log in to GLASS.
Keep an eye out for the announcement of the final release of GemStone/S 64 version 2.3 [update 10-25-2008] which should be coming soon.
7 comments
Comments feed for this article
September 25, 2008 at 5:23 pm
Pier 1.0.17 on GLASS « (gem)Stone Soup
[…] go on over to the GLASS downloads page for options and instructions. Then follow the instructions here to install the code that includes Pier […]
September 26, 2008 at 8:00 am
Bob
How is the port of the OB Tools coming along? Lack of these is currently holding us back, not sure how well the “do all development and maintenance in squeak, just deploy to gemstone” will work in practice.
Thanks!
September 26, 2008 at 8:41 am
Dale Henrichs
What pieces of OB Tools are you waiting for? The OB-based development environment is in good shape – I do all of my development using it. I am expecting to make another pass through the tools sometime in the next couple of months, so any feedback would be welcome.
Otto Behrens posted to the Beta mailing list (http://seaside.gemstone.com/mailman/private/beta/2008-July/001069.html – need to register on list) that they have been doing all of their development in Squeak and deploying to GemStone and they have been comfottable doing that. So I would say that it is a viable solution.
September 29, 2008 at 7:52 pm
Bob
Some time ago you blogged that you were going to remove some non-portable fixed you had made when porting OB, so that more (all?) OB-based tools such as Lukas’ browse/search/re-write, refactoring, lint, etc. would run on Gemstone. Was just wondering where that had reached, as that is more the path we want to follow.
Bob
September 30, 2008 at 9:17 am
Dale Henrichs
Ah, that is the direction that I want to head … I did get OB-Enhancements to load into GLASS, but then I got side tracked with other issues … This fall I will make another pass through the tools and I will make an effort to to bring in more of the refactoring tools.
Until then I think that developing in Squeak and deploying in GemStone is a viable approach. Several folks that I know of are taking this route….See the MockGemStone package in the http://seaside.gemstone.com/ss/MockGemStone.html project …
October 6, 2008 at 5:43 pm
GemStone/S 64 Version 2.3 is Shipping « (gem)Stone Soup
[…] the last Beta Update (GLASS.230-dkh.162) and the 2.3 product release, I managed to slip in a couple of bugfixes for Pier […]
December 11, 2008 at 9:00 pm
GLASS Beta Update: A Perfect Storm - GLASS.230-dkh.177 « (gem)Stone Soup
[…] we last left our weary traveler, he was so close to getting performance results for Single Session per VM, […]