GemStone/S 64 Bit Release Notes

  • 1. Release Notes for 3.6

    • Overview

      • New keyfiles required

    • Supported Platforms

      • Platforms for Version 3.6

      • GemBuilder for Smalltalk (GBS) Versions

      • VSD Version

      • GemBuilder for Java (GBJ) Version

      • GemConnect Version

      • Upgrade

        • Upgrading Seaside

      • Documentation Changes

    • 1.1 Library and Distribution changes

      • Updated library versions

      • $GEMSTONE/upgrade packaging

      • Obsolete scripts no longer distributed

    • 1.2 Optimizations

      • AIO Page Server and Free Frame Page Servers no longer separate processes

      • NetLDI is now multithreaded

      • Default Repository size smaller than keyfile maximum

      • Changes in transaction logs recorded in milliseconds

      • Transparent huge pages on linux for Gem temporary object memory

      • On restore, data pages automatically compacted

      • FindFreeFrame handling

  • 2. Changes in Administration

    • 2.1 Encrypted Extents and Transaction Logs

      • Encrypted Extents

        • Internal handling for other sessions

        • Transaction Logs

        • Restart and Recovery

        • Programmatic Backups

        • Extent Copy Backup

        • Solo logins

        • Generating keys

      • Example Setting up Encrypted Extents

      • Encrypted Extents with Backup and Restore

        • Restoring Backups

        • Restoring transaction logs with no changes in encryption keys

        • Restoring transaction logs with changes in encryption keys

        • Page Audit

        • Hot Standby

        • printlogs/searchlogs

        • Programmatic Information about encryption

      • Modifying Encrypted Files

      • Examples of modifying encrypted files

        • To encrypt an extent

        • To start a stone on an encrypted extent

        • To decrypt an extent or extent snapshot backup

        • To decrypt an extent or extent snapshot backup

        • To change the key of an encrypted extent or extent snapshot backup

        • To change the key of an encrypted transaction log

        • To change the encryption key of an encrypted fullbackup

        • To decrypt a fullbackup

      • Encrypting and Decrypting GsTls* keys

    • 2.2 Changes in Users and ObjectSecurityPolicies

      • CodeLibrarianUser no longer needed

      • DataCurator no longer has permission to modify Globals

      • SystemUser no longer subject to privilege checks

      • SystemUser now exposes sub-dictionaries

      • Changes in handling of transient symbolList

      • Whitelist for performOnServer:

        • Example

        • GsSysLog

    • 2.3 Changes in Backup, Restore and Hot Standby

      • Tranlog version numbers following restore

      • Hot Standby Failover Changes

        • Added methods

        • New Planned Failover Process in Detail

    • 2.4 Other Changes related to administrative operations

      • GsObjectInventory changes

        • Improved thread handling

        • Removed methods profileObjectsInBm: and profileObjectsInFile:

      • Deprecated findAllReferencePaths feature removed

      • System currentSession* includes logsender, logreceiver

    • 2.5 Changes in Errors

      • AlmostOutOfMemoryError

      • AlmostOutOfStackError

      • ExitClientError

      • UncontinuableError

      • Other added Exceptions

      • Removed Exceptions

    • 2.6 Changes in Utilities

      • copydbf

        • Secure extent support options added

        • Previous, non-working -s has new meaning

        • copydbf appends zip/secure extensions as needed

        • Changes in file naming with copydbf to directory target

        • copydbf semantics change for zip status

        • Required to use -u to copydbf a compressed file into raw partition

        • copydbf output to stderr vs. stdout

        • copydbf no longer accepts NRS for remote access, -n removed

        • Record-level compression argument -c removed

        • Testing option -d added

      • netldidebug utility added

      • printlogs and searchlogs

      • pstack

      • startlogsender, startlogreceiver

        • startlogreceiver -D argument for additional logging

        • startlogsender -u option removed

        • startlogsender option to specify tranlog prefix

      • startnetldi

        • Added option to configure threads

        • Resolving hostnames using reverse DNS lookup

      • startstone

        • Resolving hostnames using reverse DNS lookup

        • Underscores removed from prompts for username and password

      • startstone and pageaudit secure database options added

      • updatesecuredbf utility added

    • 2.7 Topaz changes

      • Prompt change when input nested files

      • Added commands

        • TFILE

        • DISPLAY/OMIT ALLOOPS

        • DISPLAY/OMIT DECIMALBYTES

        • SET SINGLECOLUMN ON/OFF

      • Changes in commands

        • STRINGS / STRINGSIC searches class comments

        • SET CLASS to nil

        • ALLSTACKS limit removed

        • QUIT / EXIT with file input

        • DEFINE no longer updates ErrorCount

    • 2.8 Configuration Parameter Changes

      • Added Configuration Parameters

        • GemDebuggerActive

        • StnReverseDns

      • Changed Configuration Parameter

        • STN_NUM_LOCAL_AIO_SERVERS

    • 2.9 Changes in Statmonitor and Cache Statistics

      • Statmonitor command line details

      • Default process cache names

      • Topaz linked sessions distinguished in statmonitor data

      • FailedCommitCount includes commits that succeeded on retry

      • Changed Cache Statistics

      • Added Cache Statistic

      • Removed Cache Statistics

  • 3. Changes in GemStone Smalltalk

    • 3.1 Changes in Classes, compilation, and code management

      • Instance variable name length limit

      • Literal Arrays may now embed literal ByteArrays

      • Block not optimized no longer reports CompilerWarning

      • Change in handing of transient symbol list

      • Changes in Class Categories

      • Private method to rename an instance variable

    • 3.2 Changes in Numeric/Time classes

      • Added Specials

        • SmallDate

        • SmallDateAndTime

        • SmallScaledDecimal

        • SmallTime

      • DateAndTime changes

        • Special care when adding methods to kernel classes DateAndTime, Date, Time, and ScaledDecimal

      • Other added methods

    • 3.3 ExternalSession Changes

      • GsTsExternalSession changes

      • Methods added to both

    • 3.4 Other Changes and Enhancements

      • Behavior >> isSpecial should not be used; replaced by Behavior >> areInstancesSpecial

      • Added commit failure types

      • Exiting the Client from Smalltalk

      • ClassOrganizer searches class comments, return arrays changed

    • 3.5 Deprecated and removed classes and methods

      • Removed Classes

      • Find All Reference Path removed methods

      • Other removed methods:

      • Private removed methods

  • 4. Changes in the GCI Interfaces

    • 4.1 GCI changes

      • Added Functions and Macros

        • GciCheckSigTerm

        • GciFetchDateAndTime

        • GciFetchDateAndTimePosix

        • GciNewDateAndTime

        • GciNewDateAndTimePosix

        • GCI_OOP_IS_SmallDate

        • GCI_OOP_IS_SmallDateAndTime

        • GCI_OOP_IS_SMALL_DOUBLE

        • GCI_OOP_IS_SmallScaledDecimal

        • GCI_OOP_IS_SmallTime

    • 4.2 GCI thread-safe changes

      • Added Functions

        • GciTsNbLogin

        • GciTsNbLoginFinished

      • Removed Functions

    • 4.3 Foreign Function Interface (FFI) related changes

      • Support for Callout symbol version

      • Race condition in setting FFI errno

      • Added methods

    • 4.4 UserAction changes

      • Handling Errors in user actions

      • Invoking a client useraction from non-blocking GCI call could freeze Gem

    • 4.5 Updated Compile and Link Information

      • Linux Compile and Link Information

      • Solaris on x86 Compile and Link Information

      • AIX Compile and Link Information

      • DARWIN Compile and Link Information

      • Windows Compile and Link Information

  • 5. Bug Fixes

    • Slow stone startup with large possibleDead

    • Socket blocking issues

      • Session waiting in GsSocket >> accept does not respond to stopSession

      • GsSocket read or accept may block after Socket closed

      • readWillNotBlockWithin: and writeWillNotBlockWithin: result could be incorrect

    • Hot standby bugs

      • logsender did not respect not-default STN_TRAN_LOG_PREFIX

      • logsender login failures caused excessive error messages

      • Repository>>continuousRestoreFromArchiveLogs: did not work on extent copy

      • startlogreceiver did not expand environment variables in -T argument

    • CHeap memory leaks in failed X509 logins

    • Restore from tranlogs may not replay clustering

    • Repository scan may fault in dead objects

    • DBF_PRE_GROW did not accept list with empty elements

    • Stone may not be responsive while disposing large CR backlog

    • Out of Memory in code_gen space with many classes

    • Error reporting for Stone not found

    • GsHostProcess executable-not-found error not helpful

    • Statmonitor issues

      • Deleting a statmonitor file in use may corrupt the new file

      • In auto-restart mode, file name may be reused

    • Topaz issues

      • Possible to redefine the ErrorCount predefined variable

      • Display bytes with multi-byte characters did not linebreak correctly

    • Time and Date related issues

      • TimeZone fromPath: attempted to look for zoneinfo on client

      • Duration printing of subseconds did not round up to second

      • DateAndTime fromString: without timezone was incorrect

    • GciTsLibrary version: did not handle argument flexibly

    • Removed reference to JISCharacter in RangeEqualityIndex>>isBasicClass:

    • GemStoneParameters did not handle invariant password string

Copyright 2020 GemTalk Systems