1. GemStone/S 64 Bit 3.2.11 Release Notes

Overview

GemStone/S 64 Bit 3.2.11 is a new version of the GemStone/S 64 Bit object server. This release fixes a number of bugs, and adds a new configuration parameter; we recommend everyone using or planning to use GemStone/S 64 Bit v3.2.x upgrade to this new version.

These release notes provide changes between the previous version of GemStone/S 64 Bit, version 3.2.10, and version 3.2.11. If you are upgrading from a version prior to 3.2.10, review the release notes for each intermediate release to see the full set of changes.

For installation, upgrade and conversion instructions, use the Installation Guide for version 3.2.6.

Supported Platforms

Platforms for Version 3.2.11

GemStone/S 64 Bit version 3.2.11 is supported on the following platforms:

  • Solaris 10 and 11 on SPARC
  • Solaris 10 on x86
  • AIX 6.1, TL1, SP1, and AIX 7.1
  • Red Hat Linux ES 6.4 and 6.5, Ubuntu 12.04, and SUSE Linux Enterprise 12, on x86
  • Mac OSX 10.6.8 (Snow Leopard), with Darwin 10.8.0 kernel, on x86

For more information and detailed requirements for supported platforms, please refer to the GemStone/S 64 Bit Installation Guide for that platform.

GBS Versions

The following versions of GBS are supported with GemStone/S 64 Bit version 3.2.11. You must use GBS version 7.6.1 or later for VisualWorks, or 5.4.2 or later for VA Smalltalk with GemStone/S 64 Bit v3.2.11.

GBS version 7.6.1

VisualWorks
7.10.1

32-bit

VisualWorks
7.10.1

64-bit

VisualWorks

7.9.1

32-bit

  • Windows 8,
    Windows 2008 R2 and Windows 7
  • Solaris 10 on SPARC
  • Ubuntu 12.04, RedHat Linux ES 6.4 and 6.5, and SUSE Linux ES 12
  • Windows 8,
    Windows 2008 R2 and Windows 7
  • Solaris 10 on SPARC
  • Ubuntu 12.04 and
    RedHat Linux ES 6.4 and 6.5, and SUSE Linux ES 12
  • Windows 2008 R2 and Windows 7
  • Solaris 10 on SPARC
GBS version 5.4.2

VA Smalltalk
8.6

VA Smalltalk
8.5.2

  • Windows 8, Professional or above
  • Windows 2008 R2
  • Windows 7, Professional or above
  • Windows 2008 R2
  • Windows 7

For more details on supported GBS and client Smalltalk platforms and requirements, see the GemBuilder for Smalltalk Installation Guide for that version of GBS.

VSD Version

The GemStone/S 64 Bit v3.2.11 distribution includes VSD version 5.0.1, which is the same version as provided with the previous version of GemStone/S 64 Bit, v3.2.10.

Changes in this Release

Hotstandby logreceiver now has configurable timeout

On networks with high latency, it was possible for the internal timeout in the logreceiver to be exceeded, preventing the logreceiver from receiving any tranlog records.

Now, the timeout on the logreceiver is configurable using the new -t option.

New options for controlling location of process log files

It is now possible for the NetLDI to be configured with a particular directory for child log files, and specify this directory within the Gem NRS #log directive. This allows the name of the Gem log file to be controlled by the Gem, and the directory location to be controlled by the NetLDI.

There are two parts to this change

  • The startnetldi utility now accepts a new -D argument, which should be an existing directory to which the NetLDI’s child processes will have write permission.
  • The Gem’s NRS may use the new %D pattern, within the #log: or #dir: directives. When the %D (and any other patterns) are expanded by the NetLDI to the directory name, this defines the full log and path for the Gem’s log file.

It is not critical to include a path divider after a %D; the code ensure that the expansion of %D ends with a '/' character.

If no -D argument was provided in the NetLDI, and %D is specified in Gem NRS, the %D is treated like an empty string, and a warning is printed to the NetLDI log file.

For example, the following examples start a NetLDI with a log directory of $GEMSTONE/logs/:

startnetldi -g -a gsadmin -D $GEMSTONE/logs gs64ldi

and configure a topaz maintenance script to write its log file to this directory:

topaz> set gemnetid !#log:%D/MFC-%P.log!gemnetobject

Note that %P in the NRS stands for the PID; other such variables are documented in the System Administration Guide, Appendix C.

Gem and Stone NRS control over log files for remote logins

Login parameters for the Stone name and the Gem service may each specify an NRS that includes the #log: directive. Now, these are internally retained separately, so the Stone’s NRS controls the log files for processes started on the Stone’s node, and the Gem’s NRS controls the log files for log files for processes on the Gem’s node.

Configuration parameter specification for mid-level caches

A method had been added to allow you to pass in the precise intended configuration parameters to start up a mid-level cache.

System class >> midLevelCacheConnect: hostName options: optionsArray

This is similar to midLevelCacheConnect:cacheSizeKB:maxSessions:, but rather than specifying just two of the mid-level cache parameters, the full set of configuration parameters can be specified. optionsArray is an Array containing pairs specifying configuration parameters and values.

For example, the following are equivalent operations:

 
System midLevelCacheConnect: 'MyHost' cacheSizeKB: 1000000
	maxSessions: 50.
 
System midLevelCacheConnect: 'MyHost' options:
	{'SHR_PAGE_CACHE_SIZE_KB' . '1GB' .
	'SHR_PAGE_CACHE_NUM_PROCS' 50 }.

Options for the command line include:

First element of tuples within array

(case insensitive)

Second element of
tuples within array

'SHR_PAGE_CACHE_SIZE_KB'

an Integer representing KB, or a String with a units suffix like '3GB' or '3000MB'

'SHR_PAGE_CACHE_NUM_PROCS'

an Integer

'SHR_TARGET_FREE_FRAME_COUNT'

an Integer

'SHR_NUM_FREE_FRAME_SERVERS'

an Integer

'SHR_PAGE_CACHE_NUM_SHARED_COUNTERS'

an Integer

'SHR_PAGE_CACHE_LOCKED'

0, 1 or a Boolean

'GEM_PGSVR_COMPRESS_PAGE_TRANSFERS'

0, 1 or a Boolean

'SHR_PAGE_CACHE_LARGE_MEMORY_PAGE_POLICY'

0, 1 or 2

'SHR_PAGE_CACHE_PERMISSIONS'

an Integer

Configuration parameters that are not specified on the command line are taken from the configuration file of the Gem that initiated the mid-level cache.

Bugs Fixed

The following bugs have been fixed in v3.2.11:

Gem login failure with invalid setting for SHR_PAGE_CACHE_PERMISSIONS

Introduced by changes in 3.2.10

When the configuration file used by the Gem has an invalid value for the configuration file setting SHR_PAGE_CACHE_PERMISSIONS, it causes a fatal error and prevents the Gem from running. (#45745)

This issues was exposed by the changes to add the new CONFIG_WARNINGS_FATAL configuration parameter, but the error occurs irrespective of the CONFIG_WARNINGS_FATAL setting.

Risk of SEGV during fullBackupCompressedTo:

When a multithreaded backup was writing a compressed full backup to multiple files, and encounters an error, the cleanup code performed a thread-unsafe operation, which could result in an SEGV. (#45767)

HugePages* stats incorrectly reported on Linux

The HugePages cache statistics on Linux reported values in pages, not in the number of KB. Now, the values are reported in KB as documented. (#45793).

Affected statistics are HugePagesTotalKB, HugePagesFreeKB, HugePagesRsvdKB and HugePagesSurpKB.

Incorrect number in UnauthorizedObjectStub error

Attempting to read an object whose security policy does not allow reading usually produces a SecurityError with number 2115. However, sending a message to an UnauthorizedObjectStub yielded a SecurityError with number 2374. GBS relies on error numbers to determine the GBS error class, and returned the incorrect class. (#45760)

System readHiddenSet:fromSortedFile: broken

Attempting to execute the method System class >> readHiddenSet:fromSortedFile: resulted in an error that the bitmap file was corrupt. (#45801)

2.4.x-3.2x conversion with GemConnect installed encountered errors

When performing conversion of a repository containing GemConnect from 2.4.x to 3.2.x, the upgradeImage step could error. This was the result of attempting to install kernel class documentation when the relevant methods had not yet been recompiled. (#45751)

Delay may wait forever on fast CPU

A test case showed that a Delay would sometimes never expire when running on a fast (#45764 )

topaz -n option removed

The -n option to topaz was not functional and has been removed. (#45685)