GemStone/S 64 Bit Release Notes

  • 1. GemStone/S 64 Bit 3.3 Release Notes

    • Overview

    • Upgrade

      • New keyfiles required

      • Application code recompile required

    • Supported Platforms

      • Platforms for Version 3.3

      • GemBuilder for Smalltalk (GBS) Versions

      • VSD Versions

      • GemBuilder for Java (GBJ) Versions

      • GemConnect Versions

      • Documentation Changes

    • 1. Internal and System Changes

      • Updated libraries

      • Multithreaded page servers and pageaudit

      • Compression using LZ4

      • Extent sizes multiple of 16MB

      • Class name and instance variable limitations raised

      • Zoneinfo library updated

      • Improvements in support for debugging/single stepping

      • Block execution

      • With tranlogs set to /dev/null, no records sent

      • Support for 1GB huge pages on Linux

    • 2. Distribution and File Changes

      • Slow and no-op libraries and executables

      • Process log files and deletion policy

      • More specific run* scripts

      • 32-bit GCI now available on AIX

      • Name change for Windows Client Distribution

    • 3. Improvements related to encryption

      • Encryption between remote gem and page server

      • Updated SSL protocol

      • Querying for connection encryption status

    • 4. Deprecation and Obsolete code changes

    • 5. Numerics changes

      • SmallFraction special added

      • Change in printing

        • Float and SmallDouble no longer default to exponential notation

        • Exponent letter E is now lowercase e

        • Added methods

        • All Floats now understand #asStringLocaleC, #fromStringLocaleC:

      • Parsing custom numeric literals

      • to:do: and to:by:do: handling

    • 6. Changes related to Garbage Collection

      • Runtime configuration of ReclaimGem and AdminGem

        • API to configure Reclaim Gem

        • API to configure Admin Gem

      • removed configuration options

      • verboseLogging replaced

      • New Reclaim Parameters

      • Mark/sweep by FDC/MGC no longer available

      • Symbol Garbage Collection restored

      • stopGcSession: deprecated

    • 7. Changes in Backup and Restore

      • Multi-threaded backup and restore now transparently adjust sessions

      • Optimization in restoring backups

    • 8. Improvements in handling extended character strings

      • Writing to logs now writes as UTF8 as needed

      • performOnServer: now accept input beyond ASCII range

      • Converting between Strings, UnicodeStrings, and Utf8s

        • Handling strings containing compositional UTF-8 bytes

        • Utf8 and ByteArray

        • Utf8 at:put: now disallowed

      • Changing Unicode Comparison Mode

    • 9. Enhancements to Indexing/Querying

      • ReversedReadStream

      • OptionalPathTerm indexes specification moved

      • Introductory support for automatic management of selector path indexes

      • Error handling

        • Warning on reduced conflict for identity indexes

      • Indexing Stream Classes modified

      • Set valued paths may not begin with asterisk

        • CharacterCollection >> asArrayOfPathTerms no longer accepts initial *

    • 10. PetitParser changes

      • Cached instances require recompile

    • 11. Hot Standby Changes

      • Add continuousRestoreFromArchiveLogs: variant with delay

      • Methods to get information about Hot Standby sessions

      • Smalltalk reporting on logsender and logreceiver

      • Other changes

    • 12. GsFile changes

      • Improved performance for server files

      • Improvements in handling extended characters

        • In filenames

        • In code filed out to GsFile

      • GsFile managing file locks

      • nextPutAsUtf8 extended

      • GsFile atEnd now returns true for empty file

      • Other added method

    • 13. ProfMonitor new features and improvements

      • New profiling options

      • Profiling reports down to a percentage

    • 14. FFI Changes

      • C function that accepts an array of callback function addresses

      • Removed methods

      • GemStone version no longer hardcoded in image

    • 15. Other added and changed methods

      • System Class

        • New Hidden Set protocol

        • Change in return value range from timeNs

        • Improved clock resolution, new profiling method

        • Object >> subclassResponsibility

        • System gemVersionReport and gemVersionAt: include buildType

        • Convenience methods to get commonly needed statistics

      • Collection classes

        • Added methods

        • removeAllSuchThat: now returns removed elements

      • Class information and Fileout changes

        • Default class comment now reports hierarchy

        • Fileouts now include expectvalue /Class

        • Filing out to GsFile now automatically handles extended characters

        • Class definition for old class versions now provides SymbolDictionary

        • Added method instancesInMemory

      • Socket classes

      • Date and DateTime changes

        • Date class creation methods now error on out-of-range day

        • Date today now respects TimeZone

        • DateTime creation performance improvement

      • ClassOrganizer changes

        • ClassOrganizer references to literals

        • sendersOf:* and optimized selectors

      • Repository

        • Repository createExtent:withMaxSize: minimum is 16MB

      • findReferencePath excludes internal implementation instances

      • GsExternalSession API for host login

      • GsProcess stack report that includes method source code

    • 16. Transient Methods

    • 17. Object Canonicalization Framework

    • 18. Support for LDAP authentication without anonymous binds

    • 19. Interface to write to syslog

    • 20. Changes in Statmonitor and Cache Statistics

      • Millisecond monitoring

        • VSD version

      • 64-bit statistics

      • Statmonitor automatic startup for Stones and remote caches

        • File patterns specification with new add -F option

        • Change in behavior when existing filename specified

        • Change in filename numbering of first file for -r restart filenames

        • Directory specification; add -d

        • Filenames on automatic restart; add -R

        • Changes related to multi-threaded page servers and remote page servers

        • Sampling persistent shared counters; add -B

        • Added -G option

        • -h option

      • Added statistics

      • Renamed Statistics

      • Removed statistics

    • 21. Changes in Configuration Parameters

      • Extent sizes always multiple of 16MB

      • Additional option to manage commit record backlog

      • Additional options for handing configuration parameters

      • Runtime changes no longer write to system configuration file

      • Use of units in configuration values

      • Added configuration parameter features

        • Encrypted connection between remote gem and page server

        • Automatically start statmonitor for remote cache

        • Automatically start statmonitor on mid-level cache

        • Limit number of unsuccessful mark-sweeps

        • Create CSV file with memory statistics on out-of-memory error

        • Add ability to nest configuration files

        • Define port range for pageservers for remote gems

        • On commit record backlog, send sigAborts to multiple sessions

        • Automatically start statmonitor on Stone startup

        • Configure the startup timeout on shared page cache

    • 22. Changes in Errors

      • RT_ERR_UPGRADE_WARNING

      • STDB_ERR_BAD_NUMERIC_LIT

    • 23. Utility Changes

      • copydbf

        • Added -u option

        • disallowed for backups on raw partitions

        • Backups now report position and sequence

      • gslist

        • Sorted results

        • Additional information

      • pageaudit

        • Multithreaded

        • Changes in output

        • Added -n option to set number of threads

        • Default name for pageaudit stone

      • pstack

        • Added options to collect C stacks only

      • removedbf

      • startcachewarmer

      • startnetldi

        • added -r option

      • waitstone

    • 24. Environment variable changes

      • GS_DEBUG_SSL_LOG_DIR disallowed in a fast build for security reasons

      • Additional variables to manage log deletion

    • 25. Topaz changes

      • Single-line command serializing

      • UTF-8 related changes

        • fileformat UTF8 in .topazini now applies to subsequent input

        • topaz output files now UTF-8 encoded

      • Topaz executable argument changes

        • Add -C option to pass in arbitrary configuration parameter values

        • -e, -z, -C and -T disallowed with -r

      • Warning on configuration file not found

      • Line limit increased

      • New commands

        • Added EXEC command

        • Support for setting transaction mode, add SET TRANSACTIONMODE

        • Added DEBUGRUN command

        • Added LITERALS command

        • DISPLAY and OMIT added PAUSEONWARNING

      • Changes in the ordering of lines within status output

      • topaz fileout uses protocol in Behavior

    • 26. GCI changes

      • Added functions

        • GciAll7Bit

        • GciExecuteStrFetchBytes, GciNbExecuteStrFetchBytes

      • Changed functions

      • Deprecated functions

      • Removed Functions

      • Other Changes affecting the GCI interface

        • User actions that invoke Smalltalk nesting limit is now two

      • Linux Compile and Link Information

        • Complier version

        • Debugger version

        • Compiling a user action or GCI application

        • Linking a user action library

        • Linking a GCI application

      • Solaris on SPARC Compile and Link Information

        • Complier version

        • Debugger version

        • Compiling a user action or GCI application

        • Linking a user action library

        • Linking a GCI application

      • Solaris on x86 Compile and Link Information

        • Complier version

        • Debugger version

        • Compiling a user action or GCI application

        • Linking a user action library

        • Linking a GCI application

      • AIX Compile and Link Information

        • Complier version

        • Debugger version

        • Compiling a user action or GCI application

        • Linking a user action library

        • Linking a GCI application

      • DARWIN Compile and Link Information

        • Complier version

        • Debugger version

        • Compiling a user action or GCI application

        • Linking a user action library

        • Linking a GCI application

      • Windows Compile and Link Information

        • Complier/Debugger version

        • Compiling a GCI application

        • Linking a GCI application

  • 2. Bugs Fixed

    • AIO page server fatal errors during startup may leave Stone hanging

    • Multithreaded scans now usable from remote Gems

    • On first use of a remote host, linked logins may fail

    • Garbage Collection issues

      • Symbol Garbage Collection not usable

      • markGcCandidates issues

      • Exception Handling issues

        • Exception handler #resume from primitive operation returned nil

        • Incorrect return from exception handler with non-local return in ensure: block

        • Blocks may return wrong values when nested variable is assigned in outer scope

        • Unable to trap soft break in linked topaz

        • #halt returned the result of resume, not receiver

        • A do: loop on an Interval does not behave correctly with step through

      • Some ANSI exception classes inherited error number

      • Improvements in Error reporting

        • CompileError display

        • Improved error reporting for String and MultiByteString>>encodeUsing:

        • Improved error for attempt to store into internal class

        • Error message referencing primitive -1/-2 does not exist is confusing

        • midLevelCacheConnect: error could return empty string rather than error

        • OutOfRange errors in setting configuration values did not include details

        • Improved error when using a name that matches a system service

      • Kernel methods not respecting transient changes to symbol list

      • Binary selectors /- and /-/ failed

      • Index and Query issues

        • GsQuery readStream with equality does not correctly handle cases where comparable objects are not equal

        • removeAllIndexes could run out of memory

        • Index audit does not catch entries with equal keys, but OOPS out of order

        • IndexManager usageReport may get MNU #nextWord with Portable Streams installed

      • Linux network statistics incorrectly relative to start of statmonitor

      • GEM_PGSVR_COMPRESS_PAGE_TRANSFERS only compressed one direction

      • GciEnableFreeOopEncoding and GciGetFreeOopsEncoded broken

      • NetLDI socket leak on incompatible connection

      • StringKeyValueDictionary removeKey: may fail incorrectly

      • StringKeyValueDictionary>>at:ifAbsent: did not use block on nil argument

      • Risk of SEGV when VW on Linux invokes C code

      • Topaz issues

        • Linked topaz retained some changes to internal globals over logins

        • Topaz nbstep command broken

        • Topaz shell does not work well with lineeditor

        • Topaz filename expansion did not recognize ~ in path

      • Hot and Warm Standby issues

        • Standby system may lag behind primary significantly after large reclaim

        • Hot standby connection may timeout with large number of tranlogs

        • Possible for logreceiver to get tranlogs from multiple repositories

      • fork: did not handle single quotes correctly

      • Checkpoints not written during replay of possible dead objects

      • GsFile does not handle file names with extended characters

      • startcachewarmer handling of NRS in stone name

      • Upgrade and Conversion issues

        • Conversion problems with very large Symbols

        • Filein class definitions that fail in _equivalentSubclass:... did not provide details

        • ClassOrganizer instances persisted through upgrade had missing symbol list

        • Upgrade issues with #GemStoneRCLock

        • filein of older code could introduce comment class method

        • Improved handling of login when repository upgrade required

      • SymbolGem that is slow to exit is made invalid, not handled cleanly

      • Compiling method with Array SymbolDictionary required #OtherPassword privilege

      • Inconsistent lock status after failed commit on temporary locked object

      • SlotsTotalCount off-by-one

      • gslist -x did not show startnetldi -D value

Copyright 2016 GemTalk Systems