Eloquence B.07.10 Release Notes - Changes
Changes from release candidate 5
- eloqcore
-
- A problem was fixed in the internal numeric value normalization that
could cause incorrect calculation results (#2903).
Changes from release candidate 4
- Database server
-
-
Fixed a problem with enabling/blocking database access by IP address.
When a netmask was used the relative weight of the entry was wrong
(#2955).
- Linux installation
-
-
The Linux RPM had a dependency on libodbc.so.1. As an ODBC driver
manager is only required for the optional odbc.dll module this
dependency was hidden to not make it a prerequisite for
installing Eloquence on Linux.
Please note, that an ODBC driver manager (such as unixODBC) must be
installed to use the odbc.dll module even though rpm does not
indicate unresolved dependencies.
Changes from release candidate 3
- Database server
-
-
A problem was fixed that could cause the transaction log volume to
grow far beyond its configured maximum size if the eloqdb6 server
load was very high (#2946).
-
Using a StatFile could cause the
eloqdb6 server process to hang due to an internal deadlock
or abort due to a heap corruption (#2949).
-
Killing the eloqdb6 server while it was starting up could in a rare
case potentially result in an invalid transaction log volume.
This is detected by the server and it refuses to start subsequently.
Changes from release candidate 2
- Database server
-
-
A problem was fixed that could potentially result in data loss
when the eloqdb6 server was shutdown while in on-line backup mode
and forward logging is used (#2936).
When the server is in on-line backup mode, any database changes
are temporarily saved in the transaction log volume(s). When
ending on-line backup mode the saved changes are applied to the
data volume(s). If the server process is shut down or aborts in
on-line backup mode, any pending changes are applied on the next
server startup.
Due to a problem in the backup management code the server might
fail in some cases to correctly identify a condition where the
server was shutdown cleanly while in on-line backup mode when
forward logging was used. When the server was restarted it could
fail to apply any saved changes since start of the backup.
A change was made to eloqdb6 to ensure this condition is handled
correctly.
-
The server was changed to write a log message when a new forward
log segment is created (#2937). A message like below is written to
the server log file:
created new forward-log segment (/path/file)
Where path/file specifies the current fw log file.
-
The server was modified to no longer disable forward logging when
it was shut down while in on-line backup mode (#2936).
When the eloqdb6 server process was aborted a recovery of recently
committed transactions is performed on server startup. If a
recovery is required forward logging is diabled and a notice is
written to the server log file as the forward log files can not be
used to recover the server without a previous backup.
However this restriction does not apply if the server was shutdown
cleanly while on on-line backup mode.
-
Setting the CheckPtSize configuration item to a zero value no longer
disables size based checkpointing. A zero value will now use the
default size (25 MB).
This change was made because disabling size based checkpointing
could in some cases have undesired effects and has no noticeable
benefits.
Setting the CheckPtSize configuration item to a large value would
have the same effect. However, please be aware that the transaction
log may grow up to at least twice the specified size.
-
The dbctl list session and list thread output was simplified and
aligned with the HTTP status display.
In addition, dbctl list session includes the audit information.
- dblogreset
-
- eloqsd
-
- The new RDLG request has been implemented to enable JDLG to be
used in a NAT (network address translation) environment.
Using the RDLG request with recent JDLG versions, after a program
has been started the existing eloqsd TCP network connection is attached
to the DLG protocol.
As a result, JDLG uses a single outgoing TCP network connection which
can be correctly handled by a NAT router.
- eloqcore
-
- The new RDLG protocol has been implemented. For details, please refer
to the eloqsd description above.
- In ASCII DLG, the ListBox .topitem attribute returned an incorrect
value on DLG GET (#2942).
- Eloquence QUERY
-
- The original function of the # character ('not equal' operator) has
been restored. Previously, recognition of the 'not equal' operator
was disabled as a temporary solution to allow use of the # character
in item and data set names.
- Volume labels may now be up to 8 characters long.
- Note: This does not apply to the Query3K program
(replacement for the MPE QUERY/iX utility).
Changes from release candidate 1
- Database server
-
Fixed problems:
- A problem during database restructuring was fixed that could
cause the restructure process to fail on a missing manual master
chain head (#2926).
This would leave the database in an inconsistent state and a
subsequent DBOPEN on this database would fail with status -91
(incompatible database version).
Any missing manual master record is now created during the restructure
process. All items besides the search item are initialized with default
values (space or zero).
Enhancements:
- The session detail display in the HTTP status now shows additional
performance information per session to assist in analyzing
database performance for a specific application.
For the following events the number of occurrences and the total
processing time is displayed: Disk read request, DBFIND, DBGET, DBPUT,
DBUPDATE, DBDELETE, DBLOCK, DBUNLOCK as well as transaction BEGIN,
COMMIT and ROLLBACK.
- schema
-
- Specifying the /INDEXED flag immediately after the data set type
(without a separating space character) caused the schema utility
to fail with an "invalid set type" error message (#2006).
- If the BEGIN DATA BASE statement was split across multiple lines
the schema utility failed with a "'BEGIN DATA BASE expected" error
message (#2644). This is common with schema files generated by
DBGENERAL on MPE.
- dbvolextend
-
- An error message is now issued if dbvolextend is used to recreate a log
volume but -t data is specified on the command line (#2195).
- Fixed a bug in the dbvolextend utility which could cause an inconsistent
volume set if dbvolextend was executed with insufficient permissions (#2901).
If dbvolextend was unable to setup the permissions of the new volume file
the new volume file was removed although it was already registered in
the volume set.
- dbcfix
-
- The dbcfix utility was enhanced to add missing manual master records
(#2926).
If a manual master chain head is missing the dbcfix utility now issues
a warning message and creates the missing manual master record.
Besides the search item all items in the new record are initialized with
default values (space or zero).
- eloqcore
-
- Multiplication could cause an internal memory corruption which
could cause eloqcore to abort on some systems (#2903).
- An uninitialized memory access during division could cause
imprecise results in the least significant digit (#2903).
- The VAL() function could return a wrong result if a number with
too many post decimal digits was provided (#2903).
Changes from beta 3 release
- Database server
-
Fixed problems:
-
A number of potential latency problems were fixed. Some calls could
potentailly block concurrent operations for some time in rare cases.
These calls have been modified to improve concurrency. This includes:
- adding to a sorted chain when a large nbumber of entries need to
be skipped
- skipping a large number of seleted records
- searching an index and returning a count on the found records
- a number of internal operations
-
Fixed a possible problem on Windows that could block execution for
some time in a rare case.
-
A rare corner case was fixed that could result in invalid FixRec
freelist pointers in an on-line backup and forward recovery (#2810).
The FixRec freelist is used to maintain available and deleted
record numbers.
-
A potential stack overflow problem was corrected that could
result in a hang or malfunction of the server process on HP-UX
for IA64 based systems.
-
The values on current and max. stack use are now correctly returned
in a thread status list (HP-UX, IA64 based systems).
-
Specifying a netmask in the [db-access] or [http-access] configuration
was not correctly recognized.
-
On HP-UX and Linux the server process could abort with a seek failure
when the size of a volume file exceeded 2GB.
-
The server process could abort with a panic message if a volume could
not be extended during a btree operation.
Enhancements:
-
The new function to list users that
opened a database was changed to dbctl list dbopen (previously:
dbctl list dbuser).
-
Add warning message when inserting entry to sorted chain in wrong
order and more than 1000 records need to be skipped for a path.
If more than 1000 records per chain need to be skipped a warning
message like below is written to the server log file (once every
10 seconds).
link_chain: excessive skipping DETAIL->MASTER (p=#, cnt=#)
where p=# specifies the internal index into the chain and cnt=#
specifies the number of records that were skipped.
-
Add warning message if excessive retries are required due to an
internal transaction lock conflict. Some operations are
internally delayed and re-executed subsequently if a transaction
lock conflict, but not a deadlock, was found. A warning message
was added if an unusual number of attempts are required.
A message like below is output to the server log file:
dbput: excessive retries on tx conflict (SETNAME)
- dblogreset
-
-
The dblogrest utility now retains the original log volume file
permissions.
- dbexport
-
-
The dbexport utility now detects corrupted Z and P values and
exports a zero value in case a corruption is detected (#2813).
- bimport
-
-
If the bimport detects a duplicate primary key a detailed error
message is output.
- dbfsck
-
-
A problem was fixed which could cause dbfsck to crash in case of
an inconsistent fixrec free-list.
-
The -a (automatic) option now causes
any fixrec free-list inconsistencies to be automatically fixed.
- dbutil
-
Changes from beta 2 release
- Database client library / database server
- Fixed a defect in the client caching that could potentially
return wrong results if a chain was not read completly when the
cache was used.
- fwaudit
- The fwaudit functionality was enhanced and now provides
an option to analyze the audit information contained in forward-log
or binary audit files.
- dbfsck
- The dbfsck utility can now be used in on-line read-only mode
while the eloqdb6 process is active and in on-line backup mode.
- dbutil
- An interoperability problem with B.07.00 was corrected.
A bug in the database security administration was corrected that
could result in inconsistent rights.
Changes from beta 1 release
- Database server (eloqdb6)
- Fixed problems:
- Fix possible NULL ptr access related when StatFile is configured
- Fix btree creation could faile with 9 index segments
- dbfsck utility
- Improved btree consistency checks
- dbtables utility
- Fixed inconsistent item types in TurboIMAGE compatibilty mode
and added support for index segment offsets
© 2005,2006 Marxmeier Software AG - 2006-01-12