.
contact contact

B.08.20 / B.08.20-1902 Release Notes


Eloquence B.08.20-1902 Release Notes (beta)

 
.
 
Welcome to the B.08.20-1902 update release

Eloquence B.08.20-1902 update release is currently in beta test stage and has not yet been released for production use. A production release is expected to be available in Feb 2019.

By making beta test versions available we hope to encourage additional feedback. Please contact support@marxmeier.com to share your feedback or report a problem.

This test release is available under the terms of the Eloquence Beta Test Agreement http://eloquence.marxmeier.com/download/beta/B0820/AGREEMENT

Downloading and installing the software indicates your agreement to the Beta Test terms and conditions.


Overview

The Eloquence B.08.20-1902 update integrates any B.08.20 patches and additional changes in a product release and supersedes any previous patches or patch bundles.

With the Eloquence B.08.20-1902 update a new policy is introduced to periodically release updated installation archives for easier installation and updates. This will replace the previous patch bundles. Patches will be released to temporarily fix a problem and eventually integrated in the next update release.

After the release of Eloquence B.08.20 a number of bug fixes and enhancements were released as patches, providing improved functionality, performance and reliability. Additional changes are integrated as a result of the ongoing product maintenance, previously not released as patches.

The user visible changes implemented through this update release are covered in this document. This document extends on the Eloquence B.08.20 release notes and reflects the changes in the Eloquence B.08.20-1902 update relative to the previous Eloquence B.08.20 patch bundle PE82-B150729.

Content



Database server

Database server changes include
  • Fixed bad syntax in FTS range search could trigger panic. A specific malformed range search syntax could trigger an internal consistency check instead of returning an invalid syntax status.

  • Fixed a problem where FTS range search results could be inconsistent if the FTS index was modified concurrently.

  • Revised some FTS diagnostic log messages.

  • Fixed a potential deadlock condition which could happen on a replication slave server if an FTS query was executed while FTS updates were replicated (#4263).

  • Fixed dbctl volume limit to reset volume flags. Changing the volume size limit with dbctl volume limit did not allow volume files to grow if a size limit was previously reached.

  • Fixed a potential eloqdb panic when a transaction is committed but no space is left in the transaction log.
    Assertion failed: FixRec_CommitUpdatePut() failed on Tlog_WriteRecord()

  • Fixed a problem where rolling back a transaction could fail due to insufficient space in the transaction log.

  • Fixed a problem when TransactionSizeLimit = 0 is configured, causing the eloqdb to panic due to insufficient space in the transaction log.

  • Fixed a problem where the transaction journal could grow beyond the configured CheckPtSize, subsequently causing concurrent transactions to fail due to insufficient transaction log space.
    Long running client requests, such as dbrestore, use transaction log space but did not monitor the configured CheckPtSize.

  • Fixed replication stop/start race condition resulting in eloqdb abort (#4280). The slave server eloqdb process was aborted with a message as below after replication was started:
    Assertion failed: fwr.recovery.repl_flags & FWREPL_STARTED

    This problem was caused by allowing a new replication session while the previous replication session is wound down.

  • Fixed negative replication lag caused by timer interval.

  • The dbctl list thread output was changed to include the operating system LWPID.
    The "blocked" column was removed to output the operating system LWPID (OSID) instead.

  • Fixed UseKeepAlive configuration not functional. The TCP keepalive is enabled by default and may be disabled with the [Server] UseKeepAlive config item.

  • The database encryption functionality now supports recent OpenSSL crypto library versions.

  • Linux: Add work around for glibc (nptl pthread library) defect. Glibc Versions from 2.26 may cause the eloqdb server to hang under load.
User visible changes include:
  • The TCP keepalive is enabled by default and may be disabled with the [Server] UseKeepAlive config item.
  • The [Config] SessionFtsLimit config item may be used to specify the max. FTS result size.
  • The dbctl "fts limit" command was added to obtain or specify the FTS result limit.

Database client library

Changes of the database client library include

eloqdb library

  • Fixed a problem where a DBOPEN database password could be revealed when the X3 debug flag was set.
  • Fixed a problem where free memory was accessed on DBCLOSE.
  • Fixed a memory leak when closing a database with FTS indexes.
  • Fixed output of FTS error messages.
  • Changed the eloqdb client library revision to "B.08.20.05".

image3k library

  • Fixed the DBINFO mode 202 and 205 to return the expected capacity value for tables with more than 2 billion records. Previous versions returned a zero in this case.
  • Changed the image3k library revision to "B.08.20.01".

ftc library

  • Windows: Add undecorated symbol aliases to the FTC.DLL
  • Fixed the ODXFIND RC count result to reflect the number of master entries.
  • Changed the ftc library revision to "B.08.20.01".


Database Utilities

Database utility changes include

dbutil utility

  • Fixed abort when adding item access rules.
User visible changes include:
  • New DELETE ALL ITEM ACCESS syntax to delete all item access rules.

dbrepl utility
  • Fixed negative replication lag caused by timer interval.

dbrepack utility
  • Fixed abort if a data set is not created.
User visible changes include:
  • Improved performance of the dbrepack analysis phase.
  • Improved the dbrepack scalability when repacking a large number of records.
  • Improved i/o performance by using sequential i/o preferably.

schema utility
  • Fixed handling of collating sequence names.

query3k utility

  • Fixed 2 GB report file size limitation.
  • Fixed a problem with searching on keyword indexes (FTS) with prompting for search value.
  • The QUERY3K version number was changed to B.08.20.05 (20180717).
User visible changes include:
  • Fixed query3k limitations accessing tables with a size of more than 2 billion records.
  • Fixed a problem with searching on keyword indexes (FTS).

Eloquence Language

Changes to the Eloquence programming language include
  • Fixed unexpected behavior. Opening a file with an empty file name will no longer succeed on HP-UX and Linux.

  • Using an undefined environment variable when including a DLG file could have unexpected effects because uninitialized memory was accessed.

  • Windows: Using an absolute path when including a DLG file could have unexpected effects. A path starting with a drive letter was not recognized as absolute path.

  • Windows: Fixed input/output redirection.

  • Windows: Fixed "Unable to setup i/o system" error when started in background by eloqsd.

User visible changes include:

  • Changed ambiguous syntax of the MAT "." operator.
  • The limit of active workfiles was increased to 20.
  • DLG LOAD statement limits were enhanced.
  • DLG parser was enhanced to allow modifying copied models when loading a dialog file.

eqpcl utility

Changes to the Eloquence eqpcl utility include
  • Fixed wrong handling of PCL SI/SO commands.
  • The eqpcl version was changed to B.08.20.07

User visible changes include:

  • Added support for scaling barcode.
  • Added PCL simple color support (RGB).
  • PDF/A support.

Linux systemd support

systemd support was introduced with the Eloquence B.08.30 release. It is available as an option for the Eloquence B.08.20 release.

systemd is a replacement framework for the SystemV init scripts to manage services and is used by contemporary Linux distributions. Eloquence on the Linux platform preferably uses systemd to manage services, where available. The Linux systemd unit files provide a similar functionality as the Eloquence SystemV start/stop scripts.

Eloquence B.08.20 uses systemd for new installations only. When updating an existing installation the use of SystemV init scripts is retained.

To change from SystemV init scripts to using systemd the suggested procedure is to uninstall Eloquence B.08.20 (eg. using rpm -e Eloquence.B0820) and then newly install the B.08.20-1902 update release instead of performing an update. This procedure will retain any configration files but remove the existing SystemV scripts.

To not use systemd for a new installation creating an empty file /etc/init.d/eloq82 before installation may be used to indicate preference to the SystemV init scripts even though systemd may be available.

touch /etc/init.d/eloq82
rpm -i Eloquence.B0820.1902-1.x86_64.rpm

The Eloquence B.08.20 systemd support is described in the B.08.20 systemd documentation.


Linux repository support

Linux repository support was introduced with the Eloquence B.08.30 release. It is available as an option for the Eloquence B.08.20 release.

Eloquence is available as RPM packages and also released in the deb format for use on Debian and derived distributions. The preferred option for installation on the Linux platform is to use the Eloquence package repository. This will resolve any dependencies and also make it easy to install updates once available. Depending on the Linux distribution, yum/dnf, zypper or apt are used.

Please refer to the Red Hat, SUSE and Debian/Ubuntu notes how to install Eloquence from a package repository.

The Eloquence package file may also be downloaded and installed separately. This may be required if the system has no connection to the Internet.

Red Hat (Fedora/RHEL/CentOS) specific notes

For Red Hat or compatible distributions yum is used to manage packages. For Fedora 22 (or newer) the dnf command is used instead of yum.

Installation using the Eloquence repository
The recommended installation procedure uses the Eloquence repository to install and update the Eloquence B.08.20 release. The procedure below adds the Eloquence repository, imports the Eloquence package signing key and installs Eloquence B.08.20.

Add the Eloquence repository

yum-config-manager --add-repo \
    https://marxmeier.com/download/repo/rpm/eloquence-beta.repo
As an alternative to yum-config-manager the following commands may be used:
( cd /etc/yum.repos.d/ && wget \
    https://marxmeier.com/download/repo/rpm/eloquence-beta.repo )
Import the public key to verify package integrity and authenticity (recommeded but optional)
rpm --import \
    https://marxmeier.com/download/repo/rpm/RPM-GPG-KEY
Install or update Eloquence
yum install Eloquence.B0820
yum update Eloquence.B0820

Installation without the Eloquence repository
The yum (or dnf) command may also be used to install Eloquence without using the Eloquence repository. The example below downloads the rpm archive and installs it. As an optional (but recommended) step the Eloquence package signing key is imported so the package integrity and authenticity can be verified.

Import the public key to verify package integrity and authenticity (recommeded but optional)

rpm --import \
    https://marxmeier.com/download/repo/rpm/RPM-GPG-KEY
Download and install the rpm file
yum install \
 https://marxmeier.com/download/repo/rpm/eloq-beta/x86_64/\
 Eloquence.B0820-1902-1.x86_64.rpm 

The rpm file may also be downloaded and installed separately. This may be required if the system has no connection to the Internet. It is also recommended to download and import the Eloquence package signing key as shown above.

yum localinstall Eloquence.B0820-1902-1.x86_64.rpm

The rpm command may also be used to install the Eloquence package manually. However, this requires to resolve any dependencies manually.

Installing the Eloquence 64-bit rpm on Fedora or RHEL 6 may require installation of the 32-bit glibc library to resolve a dependency error on glibc. The 64-bit Eloquence rpm includes some 32-bit libraries to allow interoperability with 32-bit applications. However, 64-bit Fedora or RHEL may not install the 32-bit glibc library by default. In this case please install the glibc.i686 package.

If you are using a legacy Linux version that does not support RPM with a sha256 based signature you may use the rpm --nosignature option as a workaround.

SUSE (openSUSE/SLES) specific notes

On SUSE and compatible distributions zypper is used preferably to manage packages.

Installation using the Eloquence repository
The recommended installation procedure uses the Eloquence repository to install and update the Eloquence B.08.20 release. The procedure below adds the Eloquence repository, imports the Eloquence package signing key and installs Eloquence B.08.20.

Add the Eloquence repository

zypper addrepo -f \
    https://marxmeier.com/download/repo/rpm/eloquence-beta.repo
Import the public key to verify package integrity and authenticity (recommeded but optional)
rpm --import \
    https://marxmeier.com/download/repo/rpm/RPM-GPG-KEY
Please note that some older rpm versions may not support fetching the key from a remote server. In this case please download the public key file and perform the rpm --import on the local file.

Install or update Eloquence

zypper install Eloquence.B0820
zypper update Eloquence.B0820

Installation without the Eloquence repository
The zypper command may also be used to install Eloquence without using the Eloquence repository. The example below downloads the rpm archive and installs it. As an optional (but recommended) step the Eloquence package signing key is imported so the package integrity and authenticity can be verified.

Import the public key to verify package integrity and authenticity (recommeded but optional)

rpm --import \
    https://marxmeier.com/download/repo/rpm/RPM-GPG-KEY
Please note that some older rpm versions may not support fetching the key from a remote server. In this case please download the public key file and perform the rpm --import on the local file.

Download and install the rpm file

zypper install \
 https://marxmeier.com/download/repo/rpm/eloq-beta/x86_64/\
 Eloquence.B0820-1902-1.x86_64.rpm 
The rpm file may also be downloaded and installed separately. This may be required if the system has no connection to the Internet. It is also recommended to download and import the Eloquence package signing key as shown above.
zypper install Eloquence.B0820-1902-1.x86_64.rpm

The rpm command may also be used to install the Eloquence package manually. However, this requires to resolve any dependencies manually.

If you are using a legacy Linux version that does not support RPM with a sha256 based signature you may use the rpm --nosignature option as a workaround.

Debian/Ubuntu specific notes

The following notes apply to Debian or Linux distributions derived from Debian (such as Ubuntu).

Installation using the Eloquence repository
The recommended installation procedure uses the Eloquence debian repository to install and update the Eloquence B.08.20 release. The procedure below adds the Eloquence repository, imports the Eloquence package signing key and installs Eloquence B.08.20.

To add the repository please add the .list file to /etc/apt/sources.list.d

( cd /etc/apt/sources.list.d && wget \
    https://marxmeier.com/download/repo/deb/eloquence-beta.list )
Import the repository signing key to the apt key ring. This is used to verify the integrity of the repository. Please note that apt-key must be executed as root.
wget https://marxmeier.com/download/repo/deb/signing.key
sudo apt-key add signing.key

- or -

wget -O - \
    https://marxmeier.com/download/repo/deb/signing.key | \
sudo apt-key add -
Refresh the apt cache and install Eloquence
sudo apt-get update
sudo apt-get install eloquence.b0820

Installation without the Eloquence repository
The Eloquence package file may also be downloaded and installed separately. This may be required on systems that are not connected to the Internet.

Eloquence does provide a Debian specific .deb installation package. You may install Eloquence with the command below:

sudo dpkg -i eloquence.b0820_8.20.1902-1_amd64.deb
Please keep in mind that when installing packages manually (instead of using apt) any dependencies may need to be resolved manually. On x86_64 systems, installation of the libc6:i386 package may be necessary as Eloquence supports both 32 bit and 64 bit applications.


 
 
.
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision:  2019-02-19  
  Copyright © 2019 Marxmeier Software AG