Menu

GT.M V5.0-FT02 available

GT.M V5.0-FT02 is available for download. GT.M V5.0-FT02 is based on V5.0-FT01 with one enhancement and some fixes. No database upgrade is required, and GT.M will automatically recompile as required provided $gtmroutines / $ZROutines is set up correctly.

GT.M V5.0-FT02 is being released on x86 GNU/Linux only.

ENHANCEMENT

GT.M on UNIX/Linux now recognizes when the $PRINCIPAL device is a TCP/IP socket. Previously such devices were treated as regular files. This feature is designed to allow a GT.M process to be started in response to a connection request made via [x]inetd.

When using xinetd, socket_type should be "stream" and wait should be "no" as in the example below:

service gtmserver
{
disable = no
type = UNLISTED
port = 7777
socket_type = stream
wait = no
user = gtmuser
server = /path/to/startgtm
}

If the service is defined in /etc/services, the type and port options are not needed. See the xinetd.conf man page for more details.

When using inetd, the sockettype should be "stream", protocol "tcp", and the "nowait" flag should be specified as in the example below which assumes a gtmserver service is defined in /etc/services:

gtmserver stream tcp nowait gtmuser /path/to/startgtm

In both of the above examples, "gtmserver" is the arbitrary name for the service being defined, "gtmuser" is the name of the user the service should be run as, and "/path/to/startgtm" is the name of a script which defines some environment variables needed by GT.M before starting it. The minimum variables are $gtm_dist which should specify the directory containing the GT.M distribution and $gtmroutines. As an example:

#!/bin/bash
cd /path/to/workarea
export gtm_dist=/usr/local/gtm
export gtmroutines="/var/myApp/o(/var/myApp/r) $gtm_dist"
export gtmgbldir=/var/myApp/g/mumps.dat
$gtm_dist/mumps -r start^server

When start^server begins, the $PRINCIPAL device will already be connected and $KEY will contain "ESTABLISHED|socket_handle|remote_ip_address". In most cases, a USE should be executed to set various device parameters such as delimiters.

ZSHOW "D" will provide both the local and remote addresses and ports:

0 OPEN SOCKET TOTAL=1 CURRENT=0
SOCKET[0]=h11135182870 DESC=0 CONNECTED ACTIVE NOTRAP REMOTE=10.1.2.3@53731 LOCAL=10.2.3.4@7777
ZDELAY ZBFSIZE=1024 ZIBFSIZE=0

There are currently no plans to provide this feature on OpenVMS. [UNIX] [S9C05-002119]

FIXES

Journal files are no longer unnecessarily kept open when the source server is restarted. The prior behavior kept them open when not needed, and would prevent the journal files from being moved or archived, and could potentially result in the source server eventually running out of file descriptors. [S9E05-002460]

Source server reports "GTM-E-NOPREVLINK, Journal file <file-name> has a null previous link" if it detects a null previous link in a journal file that it reads. Previously, an less meaningful error of the form "GTM-E-JNLFILOPN, Error opening journal file for database file <region-name>, %SYSTEM-E-UNKNOWN, Unknown system error 0" would have been issued. [S9E06-002468]

GT.M handles ZTP transactions (ZTSTART and ZTCOMMIT) correctly when journaling is turned on. Previously, it was possible for GT.M to issue GVGETFAIL or other database errors for a global reference following ZTCOMMIT when such a global belonged to a region other than that last accessed within the ZTP transaction. [S9E08-002484]

When transitioning from reading transactions to be transmitted from journal files to reading transactions from the journal pool, the source server now correctly closes the oldest generation journal file. It previously did not, and repeatedly transitioning back and forth between reading from the journal pool and the journal files could previously result in a "Too many open files" error. [S9E09-002493]

The DSE add -star command no longer terminates abnormally with a SIGADRALN error on Solaris, SIG-10 on HP-UX or Unaligned access errors on Tru64 UNIX if the STAR key is added the end of an index block whose bytes in use field (before the add -star command) is not a multiple of 4. [Solaris/HPUX/Tru64] [D9E12-002512]

With alternative collation type > 0, $next now returns the correct string if the input subscript is numeric type and the output subscript is string. [C9E12-002674]

LOOKING AHEAD TO GT.M V5.0-000

The release of GT.M V5.0-000 is imminent.

It was hoped that the production release, V5.0-000, would have been released by now, but it has not yet passed its entire regression test suite. In order to not delay those who need the new functionality, V5.0-FT02 is being released as an interim measure. V5.0-FT02 is designated a field test release of V5.0-000 because it does not have all the functionality in V5.0-000, and has not passed all the regression tests of that release. However, it has passed all the regression tests of, and is very close to, V5.0-FT01, which has been in robust usage for many months now. If you are using V5.0-FT01 in production today, you can use V5.0-FT02 in the same way (after testing in your environment and with your application, of course). For those who have purchased GT.M support, V5.0-FT02 will be a fully supported release until the release of V5.0-000.

V5.0-000 will bring a change to the database format. Unless you are running logical dual site operation, it will not be possible to switch to GT.M V5.0-000 without at least some minimal down time. However, GT.M V5.0-000 is being developed so that, in the typical case, the required down time is likely to be seconds to minutes.

Posted by K.S. Bhaskar 2005-05-19

Log in to post a comment.