You are currently browsing the monthly archive for November 2011.
GLASS 1.0-beta.8.7.1 has been released. There are only a couple of bugfixes in this release as this release was targeted at the upcoming GemStone/S 2.4.5 release. The bulk of the changes were related to porting GLASS 1.0-beta.8.7 to GemStone/S 2.4.5.
To upgrade to GLASS 1.0-beta.8.7.1:
One-Click 1.0-beta.8.6 GemTools
GLASS Upgrade Cha Cha
I suppose it is a little known fact that the GemTools code base includes code that is used to drive the GLASS upgrade process, although my constant entreaties to “upgrade GemTools to the latest version before upgrading GLASS” may have given you a clue or two.
I thought I’d take this opportunity to describe what goes on behind the scenes when you select the Update > Update GLASS menu item in GemTools. This section should be especially useful if you prefer to upgrade your system without running GemTools.
Through the ‘Update GLASS’
Currently Metacello 1.0-beta.31.1 is the version that is needed for a smooth upgrade process:
ConfigurationOfMetacello project currentVersion versionNumber < '1.0-beta.31.1' asMetacelloVersionNumber ifTrue: [ (Gofer new) gemsource: 'metacello'; version: 'Gofer-Core.gemstone-dkh.135'; version: 'Metacello-Base-DaleHenrichs.19'; version: 'Metacello-Core-dkh.468'; version: 'Metacello-MC-dkh.531'; version: 'Metacello-Platform.gemstone-dkh.23'; load ].
It turns out that the best formula for bootstrapping Metacello is to directly load the key packages. I would have liked to use Metacello to bootstrap itself, but for GLASS we need to upgrade a wide range of Metacello releases dating back to over a year ago and there are several bugs that make it impractical to do anything but load the packages directly.
To bootstrap Monticello, we use the GLASS configuration and load the ‘Core’ and ‘Monticello’ projects:
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [[[ (ConfigurationOfGLASS project version: '1.0-beta.8.7.1') load: #( 'Core' 'Monticello' ) ] on: MetacelloSkipDirtyPackageLoad do: [:ex | ex resume: false ]] on: Warning do: [:ex | Transcript cr; show: ex description. ex resume ]].
We wrap the load with an out-of-memory handler.
The MetacelloSkipDirtyPackageLoad handler is there to compensate for a bug in the Monticello package loader that occasionally resulted in a package being marked dirty after a successful load.
The Warning handler is also there to ensure that packages needed for the upgrade are loaded whether or not they are marked dirty.
The GLASS upgrade is completed by doing a simple load:
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [[[ (ConfigurationOfGLASS project version: '1.0-beta.8.7.1') load ] on: MetacelloSkipDirtyPackageLoad do: [:ex | ex resume: false ]] on: Warning do: [:ex | Transcript cr; show: ex description. ex resume ]].
GemStone/S 64 3.0.1 was released on Monday of this week.GemStone/S 64 Bit 3.0.1 is a new version of the GemStone/S 64 Bit object server. This release provides feature enhancements and fixes a number of serious 3.0 bugs.
Release notes, Install Guide and manuals are available here. Be sure to carefully read the GemStone 3.0.0 release notes, if this is the first time you have used GemStone/S 3.0 as there are significant differences between GemStone3.x and GemStone 2.x
GemStone 3.0.1 ships with GLASS 1.0-beta.8.7 pre-installed in
Currently there is no path for upgrading a GemStone 2.x GLASS application to GemStone 3.0.1. The upgrade path will be defined in a future release.
If you are running a production application in GemStone 2.x, it is recommended that you continue to use GemStone 2.x for production. You should port your application to GemStone 3.0.1 in preparation for the time when the upgrade procedure is defined.
If you are starting a new application then you should use GemStone 3.0.1 as a starting point.
You can download the binaries from ftp://ftp.gemstone.com/pub/GemStone64/3.0.1/ or visit seaside.gemstone.com downloads page and use the installGemStone3.0.1.sh script to download and install GemStone 3.0.1 on your machine (highly recommended).
Once you’ve installed Gemstone in
/opt/gemstone/product, follow these steps to start and stop the stone:
- Define GEMSTONE environment variables ($GEMSTONE/bin and $GEMSTONE/seaside/bin added to your $PATH environment variable):
It is recommended that you add this step to your
- Copy the
extent0.dbffiles to data directory:
cp $GEMSTONE/seaside/system.conf \ $GEMSTONE/seaside/data chmod +w $GEMSTONE/seaside/data/system.conf cp $GEMSTONE/bin/extent0.seaside.dbf \ $GEMSTONE/seaside/data/extent0.dbf chmod +w $GEMSTONE/seaside/data/extent0.dbf
This step is performed as part of the installGemStone3.0.1.sh script.
stoneprocess is running:
A One-Click GemTools 1.0-beta.8.5 for GemStone 3.0.1 can be obtained from the seaside.gemstone.com downloads page or you can download GemTools 1.0-beta.8.5 for Gemstone/S 3.0.1 all platforms directly.
You can build a custom GemTools image by following these steps on the glass db wiki.