.
contact contact

B.08.30 / Release Notes / Beta Changes

Eloquence B.08.30 Beta Changes

 
.
  This document provides an overview of user visible changes introduced in the B.08.30 beta releases.

Final RC (1810-8)

  • eloqdb: Fixed an issue with IPv6 on HP-UX 11.31 on PA-RISC systems. This could have the effect that local connections were not recorgnized as local.

  • eloqdb: Fixed a possible memory leak when a connection is rejected due to insufficient user licenses.

Final RC (1810-7)

  • Removed redundant diagnostic message. When opening a database more than once a diagnostic message similar to database(#n): open_cnt=n was output to the eloqdb message log. This message was removed.

  • 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.

Final RC (1810-6)

  • eloqdb: Minor fixes in the eloqdb http status

  • eloqdb: Fixed negative replication lag caused by timer interval

  • eloqdb: Fixed bad syntax in FTS range search could trigger panic. A specific range syntax could trigger an internal consistency check.

  • eloqdb: Fixed schema upload optimization not working as expected. When opening a database more than once the schema information is only submitted once.

  • eloqdb client library: Fixed merging of local connections. Connections to multiple local servers could improperly use the first database server.

  • eloqdb client library: Fixed schema upload optimization not working as expected.

  • eloqdb client library: Changed library revision to B.08.30.01

RC 4

  • eloqdb: Fixed slave server corruption (#4277). An internal memory cache structure could get damaged when replication was active and result in a corrupted slave server volume file.
    The slave server is not affected immediately but the volume files are not properly synced on shutdown or in dbctl backup mode.
    It is recommend to resync any slave server volume files or verify the slave server volume consistency with dbfsck if a slave server was used with a previous B0830 beta release.

  • eloqdb: Fixed abort caused by replication async readahead during sync phase pulling unexpected data in cache (#4279). The slave server eloqdb process was aborted with a message as below after replication was started:
    Assertion failed: bhp->id.node_id == node_id

  • eloqdb: 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.

  • eloqdb: Fixed replicated pages expiring too soon (#4283). In a rare case the slave server eloqdb process could get aborted with a message as below:
    Assertion failed: Fwr_PageHashLookup() failed: key not found

  • eloqdb: Fixed shutdown watchdog timeout. The shutdown watchdog used a default timeout of 90 seconds instead 30 seconds.

  • eloqdb: Fixed eloqdb disk access counters wrapping after 32 bit. This could affect information on the http status statistics page.

  • eloqdb: 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 reached before.

  • eloqdb (windows): Removed extra diagnostic messages.

  • eloqcore: DLGv2 protocol: Changed DLG GET/SET .async to be fully backwards compatible.

  • eloqcore: DLGv2 protocol: Fixed DLG GET .bulk status. The OPTION DLGBULK configuration is now returned regardless whether or not eloqcore is connected to a DLG server.

  • eloqcore: DLGv2 protocol: Added DLG statistics.

RC 3

  • eloqcore: Caching improvements and fixes using the DLG v2 protovol.

  • eloqcore: Fix unexpected behavior. Opening a file with an empty file name will no longer succeeded on HP-UX and Linux. This also affects previous Eloquence versions.

  • eloqdb (Linux): Add work around for glibc (nptl pthread library) defect. Glibc Versions from 2.26 may cause the eloqdb server to hang under load.

  • eloqdb: Minor HTTP status improvements and fixes. This is also expected to also resolve a potential issue with recent Chrome versions to access the http status.

  • eloqdb: Add shutdown watchdog to ensure server process does shutdown after 30 seconds even if busy. A diagnostic list of blocked threads will be output to the message log.

  • eloqdb: Removed some potentially confusing diagnostic messages.

  • schema: Fixed a problem handling multiple index collating sequences in a schema file. The merging identical collating sequences did not work as expected. This also affects previous Eloquence versions.

  • image3k library: Changing the byteorder (e.g. dbcontrol mode 1000) did not reset handling of floating point fields.

  • eloqsd: Minor HTTP status improvements and fixes.

RC 2

  • eloqcore: Fixed PRINTER IS ... ENCODING() encoding. There was a conflict with DINTEGER.

  • eloqcore: Improved DLG caching. Caching heuristics were improved to optimize line and vline attributes when used to iterate on content or vcontent.

  • eloqdb: Improve handling of potential FTS index inconsistencies. While this is no supposed to happen, handling of potential inconsistencies was improved to allow early detection and limit its impact. A reference to an invalid record is now logged in the server message log and skipped ignored. Previous versions could result in partial results, depending on the application.

  • image3k: dbcontrol mode 1020 was enhanced. Status[3] now returns the current byte order setting. Status[2] returns the byte order expected by the library calls.

  • image3k: dbcontrol mode 1021 returns the current character set setting in status[2].

  • libftc: Fixed ODXFIND call to return distinct RC result count.

RC 1

  • eloqdb: Fixed btree meta data not updated to disk when index/FTS is restructured (#4273).

  • eloqdb: dbctl help, include volume command

  • eloqcore: Fixed wrong dbfind behavior in eloqcore with 8.30 database client library (#4275).

  • eloqcore: DLG fixes
    • Fixed DLG protocol v2 bulk mode issues
    • Fixed DLG protocol v2 async mode backward compatibility issues
    • Revise DLG protocol v2 .bulk attribute
    • Revise DLG protocol v2 extended status diagnostics
    • Revise DLG protocol v2 logging

    The DLGv2 behaviour is described in the DLGv2 document.

  • eloqcore (win32):
    • Fixed database client library calls not logged
    • Fixed input/output redirection
    • Fixed "Unable to setup i/o system" error when started in background by eloqsd

Beta 8

  • eloqdb: Fixed a problem resulting in the slave server aborting (#4273). This could happen after updating to B.08.30 from a previous version and using dbutil to restructure the database for the first time. B.08.30 adds an internal column to the FTS definition in the database catalog. This could be updated in the wrong order which triggers a consistency check in the slave server to abort.

  • eloqdb: Added Rate and MaxRate columns to the http thread status. These columns describe the activation rate and max. rate of a thread. These columns are useful to monitor the activity of a thread. A new "rate" filter may be used to filter the output.

  • eloqdb: Obtain statistics on IOWAIT time. This is the time a specific thread had to wait for disk i/o to complete that was initiated by another thread (as of B.08.30 this could often be an async readahead). As B.08.30 may perform some I/O asynchroneously the I/O time is no longer accounted to the specific thread. If a thread has to wait for the disk I/O to complete this is now accounted as I/O time to allow distinguishing it from disk I/O and database processing time. This also affects the session statistics for B.08.30 to includes three additional columns on IOWAIT.

  • eloqcore: The new DLG bulk protocol is now available and enabled by default. The new eloq.config (or .eloqrc) config option OPTION DLGBULK may be used to modify the default:
    OPTION DLGBULK {0|1|2}
    
    0 - bulk mode is not enabled by default
    1 - bulk mode is enabled by default with JDLG 2.0
    2 - same as (1) but DLG SET .async is ignored (force bulk mode)
    
    The default is 1.
    
    If the DLG v2 protocol is used (with JDLG 2.0), enhanced diagnostics are available. The log level G1 may be used to list failed DLG calls along with the originating location (segment/file/line). This is particularly useful if currently the .async option is used to change to the more efficient and faster bulk protocol. A noticeable difference is that in .async mode any DLG error is ignored by default while the bulk protocol triggers a run-time error instead.

  • eloqcore: The file ENCODING functionality for writing was added. A problem with BOM markers was corrected.

  • eloqcore: New ENCODING clause for the PRINTER IS statement to allow specifying encoding of printer output.. For example:
    PRINTER IS "TEST",ENCODING("utf-8")
    The following encodings are supported:
    • roman8
    • iso-8859-1
    • iso-8859-15
    • utf-8

  • eloqcore: New ENCODE$() and DECODE$() function to encode strings into or decode from utf-8 encoding.
    DECODE$(ENCODE$("\u20ac"))
    Characters not represented in the HP-ROMAN8/9 character set are decoded into the \uxxxx notation.

  • HP-UX installation: Fixed a problem with the symbolic links to the OpenSSL libraries established during the installation. OpenSSL 1.0 is used preferably when present and the symlinks are retained on updates.

Beta 7

  • eloqdb: Added support for https protocol for status monitoring. The https protocol may be enabled in addition (or as a replacement) to obtain status information from the database.

    The following config items were added to the database server configuration file:

    ServiceHttps
    The service name (as defined in /etc/services) or the port number where the server should listen for HTTPS (secure HTTP) requests. This requires that TLS is configured (see below). If neither ServiceHttp nor ServiceHttps are specified, the HTTP/HTTPS status is disabled.

    TLSCertChainFile
    Absolute path to a file in PEM format containing the server certificate and optionally any additional intermediate certificates which represent the chain up to the root certificate. The certificates in this file must be sorted in the verification order, starting with the server certificate. The file may in addition contain the private key associated with the server certificate, in which case the TLSCertKeyFile configuration below can be omitted.

    TLSCertKeyFile
    Absolute path to a file in PEM format containing the private key associated with the server certificate. If this key is contained in the TLSCertChainFile above, configuring TLSCertKeyFile is not necessary.

    Note: To enable HTTPS, a server certificate is needed for the eloqdb host name. Web browsers require a certificate which is issued by a known authority. Using a self-signed certificate typically requires to configure the browsers which are used to access the HTTPS status.

  • eloqdb: The dbctl volume add command allows to add a data volume file to the running eloqdb server process.

    For example:

    $ dbctl -u dba volume add /data/db/data02.vol 
    Added volume 3 "/data/db/data02.vol", 2 spare volumes left.
    
    A message as below is added to the server message log:
    L0: created new forward-log segment (/data/db/fwlog-2-1.log.gz)
    D0: added volume [2] /data/db/data02.vol
    
    Note: A max. of 3 data volumes may be added between server restarts. Adding a volume file will start a new forward log generation before the volume file is added.

    Also note that the eloqdb.cfg file must be updated manually.

  • eloqsd: The http and https protocol for status monitoring may be configured separately (new ServiceHttps config item). The https protocol may be enabled in addition (or as a replacement) to obtain status information from the eloqsd server.

  • elqocore: New ENCODING clause for the ASSIGN statement to allow specifying encoding of sequential files. For example:
    ASSIGN #1 TO "TEST";ENCODING("utf-8")
    The following encodings are supported:
    • roman8
    • iso-8859-1
    • iso-8859-15
    • utf-8
    • utf-16 (uft16-le, utf-16be)

    Note: As of beta7 conversion is limited to reading files. Support for writing will be added subsequently.


Beta 6

  • eloqdb client library: Fix inconsistency when used by a utility specifying a host and/or service on the command line. If a host or service is specified on the command line then the EQ_DBSERVER environment variable is not used.

  • dbutil: Fix abort in dbutil when adding item access rules.

  • dbutil: The dbutil syntax DELETE ALL ITEM ACCESS was missing from the dbutil on-line help.

  • Lock access to the IP address filter so a concurrent change is safe.

  • Fix dbvolchange abort caused by missing initialization of the buffer cache subsystem. This is mandatory as of B.08.30.

  • Fix issue with session and thread handling in the image3k and ftc libraries.

  • Make sure image3k library initialization and applying EQ3K_OPTIONS environment variable is thread safe.

  • Make sure database is actually closed when returing status 61 from the image3k dbopen call.

Beta 5

  • eloqcore: Fixed various issues with the new DLG protocol.

  • prdbutil: Add -T option to output TurboIMAGE compatble types (dbutil -T).

  • QUERY: Support QUERY_NOLOCK environment variable to avoid database locking. If set then QUERY will no request any database locks.

Beta 4

  • Windows: The eloqdb client library on Windows does no longer require the openSSL libcrypto. Instead the Windows crypto functionality is used.

  • dlg: handle undefined environment variable when including a dialog file.

  • eloqcore: debug connection did not handle IPv6 connection.

  • dbutil: Fix interoperability problem of dbutil with B.08.20 or migrated B.08.20 databases. Make the FTS indx catalog column optional.

  • dbutil: Fix parsing of single letter FTS field options.

  • dbutil: Fix FTS check for common master set.

  • eloqdb server: Fix issues with FTS indexing and searching of empty fields. After FTS is reindexed with B0830 empty fields (NP&NE options) may be indexed with FTS. This did not work as expected.

    eloqdb server: Use a space to represent an empty field in the FTS dictionary index.

  • Fix dbvolextend abort caused by missing initialization of the buffer cache subsystem. This is mandatory as of B.08.30.

  • IDE: Support for debugging using IPv6 protocol.

Beta 3

  • Correctly handle uname system call returning EOVERFLOW status on HP-UX.

  • eloqdb: Make sure FTS transactions are within 8K internal limit.

  • eloqdb: Fixed aborts caused by defects in the FTS caching to minimize disk IO accessing FTS results.

  • eloqsd: Fixed issue with eloqsd TLS support.


 
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision: 2019-01-14  
  Copyright © 1995-2024 Marxmeier Software AG