---------------------------------------------------------------------- ELOQUENCE B.07.10 - patch PE71-0607100 ---------------------------------------------------------------------- This patch adds enhancements or fixes defects of the eloqdb6 server program as released with Eloquence B.07.10. This patch will be integrated in the Eloquence B.07.10 release. Eloquence B.07.10 must be installed before applying this patch. Severity: PE71-0607100: ENHANCEMENT Superseded patches: PE71-0606290: BUG FIX PE71-0603280: BUG FIX PE71-0603100: ENHANCEMENT PE71-0602280: ENHANCEMENT, BUG FIX Patch PE71-0607100 ------------------ Platforms: All * The lock scheduler was revised to enhance scalability and performance with a large number of competing locks. * Changed the Windows file version to "7.1.0.10" Notes / Related patches: - The following related patches (or superseding) should be installed with this patch: - PE71-0606291 - dblogreset utility - PE71-0606292 - dbrecover utility - PE71-0606293 - fwaudit utility Patch PE71-0606290 ------------------ Platforms: All * Improved scalability of dbunlock with a large number of blocked competing lock requests. * Fixed a problem with forward log files that could cause an internal failure with dbrecover as below (#3072). L0: Fwr_TranslatePage(page=0x3229) failed: page not found Assertion failed: page not found, file volfwr.c, line 1504 The problem was triggered by an inconsistency in the forward log that could happen in some cases if dbrestore was used while the eloqdb6 server was active. This problem could no longer happen as a side effect of installing patch PE71-0603280. This patch provides a fix for the root cause. * The forward log format that was slightly changed. This requires installing updated utilities that access the forward log. * Changed the Windows file version to "7.1.0.9" Platforms: HP-UX * Work around HP-UX problem with memory windows (#3050). When using memory windows on HP-UX with a configured buffer size of 1 GB the server process could abort with a SEGV with a message like below: ** Cought signal 11 -- traceback follows: signo = 11 addr = bffffff0 As a workaround, a configured buffer size of exactly 1 GB is internally reduced by one page. Notes / Related patches: - The following related patches (or superseding) should be installed with this patch: - PE71-0606291 - dblogreset utility - PE71-0606292 - dbrecover utility - PE71-0606293 - fwaudit utility Patch PE71-0603280 ------------------ Platforms: All * Fixed a problem with forward log files that could cause an internal failure with dbrecover (#3059). Internal failure: temporary file for transaction # not found Assertion failed: Internal failure during forward-recovery This problem was introduced with patch PE71-0602280 that enables use of a more efficient format to record index changes in the forward log files. In a specific case this could result in an inconsistent transaction status recorded in the forward log file that is catched by a consistency check in dbrecover. This problem can possibly affect installations that previously installed patch PE71-0602280 or PE71-0603100 and use additional indexes. A patched dbrecover is available on request to workaround this problem if necessary. * Fixed a problem with forward logging not enabled after a server abort without a server restart (#3056). A message like below is written is the server log file: Note: forward-logging has been disabled because the server was not shutdown cleanly After a server abort any recently committed transactions are re-applied. This temporarily disables forward logging. A temporary flag was not reset after completing recovery causing forward logging to remain disabled until the server process is restarted. Notes / Related patches: - The following related patches (or superseding) should be installed with this patch: - PE71-0602281 - dblogreset utility - PE71-0602282 - dbrecover utility - PE71-0602283 - fwaudit utility Patch PE71-0603100 ------------------ Platforms: All * Improve bimport performance on master sets (#3045). The bimport performance for master sets is often dominated by creating the associated index. This may also apply to detail sets when an additional index is used. The eloqdb6 server was changed to bypass the index transaction logic during bimport to improve database load time. Patch PE71-0602280 ------------------ Platforms: All * An internal deadlock condition was fixed that could result in on-line backup requests (dbctl backup start|stop|status) to hang (#3014). A server shutdown would not succeed in this case requiring to kill the server process. An on-line backup request needs to obtain an internal lock to ensure transactional consistency. If an on-line backup request gets blocked initially due to a concurrent operation (for example a dbstore operation is currently running) and another on-line backup request is issued a deadlock condition occurred that caused both requests to hang. * The server process was enhanced to use a more efficient format to record index and meta data changes. This enhancement results in a substantial reduction in disk space for the forward-log file when index entries are changed frequently. This change required a modification of the forward-log file format. While older forward-log files are still supported, related utility programs need to be updated to handle the new format. This requires installation of additional patches on dbrecover, dblogreset and fwaudit utilities (see related patches). * A rare defect with forward-recovery was fixed that could result in a corrupted volume set (#2999). This causes an internal consistency check to fail and eloqdb6 to abort on startup with an error message like below: Assertion failed: page == new_vol->flist_tail server panic: Aborting on internal failure, file volume.c, line 3988 This problem could happen if the data volume was extended and the volume list of available blocks had to be extended as well (this is required around every 500 MB). The recovery then missed to update the flist_tail field in the volume header, causing a panic the next time the server was restarted. The dbrecover utility was fixed to correctly update the flist_tail field. In addition the eloqdb6 behavior was modified to detect and correct this problem on startup. A notice is written to the server event log file in this case. * On HP-UX and Linux some log messages regarding eloqdb6 startup and shutdown were raised in priority so they show up in the server event log file even if LogFlags=*0 (default) is used. The following messages are affected: - "Eloquence database server active" when the eloqdb6 server process started successfully. - A new message outputs the current server patch level to the log. - "Eloquence data base server terminated" when the eloqdb6 server finished shutdown. - The message when a new forward-log segment was created. On all platforms the message indicating a previous unclean shutdown was recovered is now written to the server log. Platforms: Windows * On the Windows platform, dbctl bimport refused an absolute path beginning with a drive letter (#2997). * Changed the Windows file version to "7.1.0.7" Installation: ------------- Please download the patch archive that corresponds with the installed release. The patch files follow the conventions below: PE71-0607100-hpux-ia64.tar.gz ^ ^ ^ | | Architecture / OS specific build | Operating system Patch ID HP-UX: In order to install this patch, you need to unpack it with gzip and tar. Gzip is included with HP-UX. Installation requires root privileges. cd /opt/eloquence6 gzip -dc /path/to/PE71-0607100-hpux.tar.gz | tar xf - Files: bin/eloqdb6 share/doc/PE71-0607100-README Linux: In order to install this patch, you need to unpack it with tar. Installation requires root privileges. cd /opt/eloquence6 tar xzf /path/to/PE71-0607100-linux.tar.gz Files: bin/eloqdb6 share/doc/PE71-0607100-README Windows XP/2000/NT: This patch should *only* be installed if you previously installed the Eloquence server components on your system. Installation requires administrative capabilities. Two options are available for patch installation. The patch is available as self extracting archive for automatic installation and as a zip archive for manual installation. Both patches are equivalent. Installation requires administrative capabilities. For autmatic installation of this patch, please download the patch file PE71-0607100-win32.exe file. Before installation, please consider closing all applications and execute the patch installation program. Installation does not require a reboot unless the patched files were active. For a manual installation of the patch, please download the patch file PE71-0607100-win32.zip file and unpack its contents. Then perform the following steps: * Please make sure the eloqdb6 service has been stopped previously (in the Service Control Manager or with NET STOP eloqdb6). * Please copy the eloqdb6.exe file into the WINDOWS SYSTEM DIRECTORY (for example C:\Windows\System32). * Please copy the PE71-0607100-README.txt file into the share\doc subdirectory of your Eloquence installation (for example C:\Programs\Eloquence\share\doc). Files: eloqdb6.exe PE71-0607100-README.txt