GemStone/S 64 Bitâ„¢ 3.6 is a new version of the GemStone/S 64 Bit object server. Version 3.6 includes a number of important new features, such as the ability to encrypt the on-disk representation of extents and other dbf files.
These Release Notes include changes between the previous version of GemStone/S 64 Bit, v3.5.4, and v3.6. If you are upgrading from a version prior to 3.5.3, review the release notes for each intermediate release to see the full set of changes.
For details about installing GemStone/S 64 Bit 3.6 or upgrading from earlier versions of GemStone/S 64 Bit, see the GemStone/S 64 Bit Installation Guide for v3.6 for your platform.
If you have been testing with a beta version of v3.6, and if you are using encrypted extents, these beta-encrypted extents are not compatible with the release executables; there have been root page changes that make the encrypted extents incompatible. You must re-encrypt your beta-test extent dbfs, before these can be used with the 3.6 release executables.
The keyfiles for v3.5.x and earlier cannot be used with v3.6; new keyfiles are required for this release. To obtain a new keyfile for GemStone/S v3.6, write to keyfiles@gemtalksystems.com. In your request, include your license information, platform and any updates to contact information.
Please contact GemTalk Technical Support if you have issues or questions.
GemStone/S 64 Bit version 3.6 is supported on the following platforms:
For more information and detailed requirements for each supported platforms, please refer to the GemStone/S 64 Bit v3.6 Installation Guide for that platform.
X509-Secured GemStone feature is fully tested and supported on Linux platforms only.
GemStone/S 64 Bit version 3.6 requires GBS version 8.5 or later for VisualWorks Smalltalk, or version 5.4.6 or later for VA Smalltalk.
The following versions of GBS are supported with GemStone/S 64 Bit version 3.6:
The GemStone/S 64 Bit v3.6 distribution includes VSD version 5.5.1. The previous version of GemStone/S 64 Bit, v3.5.4, included VSD v5.5.
VSD version 5.5.1 includes a number of new features and bug fixes. For details on the changes, see the Release Notes for VSD v5.5.1.
With GemStone/S 64 Bit v3.6, statmonitor now writes additional information to the statmonitor file: the command line used to invoke statmonitor. As a result, statmonitor files from v3.6 cannot be read by versions of VSD earlier than v5.5. VSD 5.5 can read statmonitor files generated in older versions of GemStone/S 64, 32-bit GemStone, and GBS, as well as those generated by GemStone/S 64 Bit v3.6.
VSD 5.5.1 is included with the GemStone distribution, and can also be downloaded as a separate product from https://gemtalksystems.com/vsd/
The most recent version of GBJ, v3.1.3, can be used with GemStone/S 64 Bit v3.6.
The GBJ shared library that is distributed with the server, libgbjgci313*, includes basic support for the new special data types in 3.6 (SmallTime, SmallDate, SmallDateAndTime, SmallScaledDecimal). Further support will be added in the next GBJ release.
The most recent version of GemConnect, v2.4, can be used with GemStone/S 64 Bit v3.6.
Upgrade is supported from all 3.3.x, 3.4.x, and 3.5.x versions. To upgrade from earlier versions, upgrade to a supported upgrade origin version, and then upgrade to 3.6.
Note that upgradeImage no longer overwrites the file $upgradeLogDir/upgradeImage.sh. If this file exists, upgradeImage creates $upgradeLogDir/upgradeImage_1.sh, and if this also exists, $upgradeLogDir/upgradeImage_2.sh, and so on.
Documentation has been revised for this release, with modifications to incorporate new and changed features, as well as corrections and improvements.
In addition to the maintenance changes, and addition of new information and features, the following improvements have been made:
The GemStone/S 64 Bit X509-Secured GemStone System Administration Guide has not been updated for this release.
The version of OpenLDAP has been updated to 2.4.55.
The ZoneInfo (TimeZone database) has been updated from 2019a to 2020a.
The way GemStone image code is packaged in the distribution for upgrade has been changed, as part of the development towards tonel-based source code management.
This change should be transparent to the user, but the contents of $GEMSTONE/upgrade will appear very different.
A number of Classes whose names begin with Upgrade, are present in the Globals SymbolDictionary. These classes implement methods used during the upgrade process.
The AIO Page Server and Free Frame Page Servers are now threads within the stone, rather than separate processes.
The way these are configured and tuned is unchanged; the configuration parameters have not been renamed, to avoid impact during upgrade.
The individual log files previously created by these processes are no longer written; these were seldom useful.
Page server cache statistics, as recorded by statmonitor, reports statistics for these page server threads with only minor changes, as AioThreadN and FFThreadN.
The supporting scripts, runaiopgsvr and runffpgsvr, have been removed.
The NetLDI is now multithreaded. The number of threads defaults to 10; it can be configured using the startnetldi -t option. With X509-Secured GemStone, in secure mode, or if the NetLDI is running as root, the NetLDI always runs single-threaded.
For limited GemStone licences, one of the limits is the repository size. In previous releases, the default maximum size for a repository was the limit set in a keyfile; however, if the repository ran out of space (for example, a temporary increase due to a commit record backlog), there was no ability to recover, other than an emergency temporary keyfile from GemTalk Technical Support.
Now, when a license keyfile has a limit on the repository size, the default maximum size of the repository is 80% of the keyfile limit. This default is used if no size is explicitly set. If the repository reaches the default limit, it will shut down, but by manually configuring the size to a larger value that is still lower than the licence limit, the system can be restarted easily and the problem resolved.
The timestamps on records in the transaction logs were previously in seconds, and are now in milliseconds.
Starting with version 3.5.1, the shared page cache is able to take advantage of transparent huge pages (2MB) pages, provided that this is enabled in the Linux kernel (see the Installation Guide for details). No special configuration in GemStone is needed to use transparent huge pages.
With 3.6, if GEM_TEMPOBJ_CACHE_SIZE is configured to more than 400MB, Gem temporary object memory can also use transparent huge pages. No specific action is required, other than enabling transparent huge pages in the linux kernel.
When restoring a backup, formerly, the repository could contain many partially empty data pages. Now, data pages are automatically compacted during restore.
Clustering is respected, and performance appears to be the same or better than without compaction.
When a Gem requires new frame, but the shared page cache does not have frames on the free list, it scans the cache looking for a frame that can be made available. It is possible that no frames can be made available. Now, if it does not find a free frame after 60 seconds, the Gem will get a fatal cache error.