----------------------------------------------------------------------

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