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.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 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
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.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.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
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
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