During the testing the results shows that Enduro/X shows goods results with RPC
style calls. For Oneway testing (publish only), Apache Kafka was the best. But
downside for Kafka is that calls were not blocked, thus “dirty” solution was to
restart the sending message to the queue while the Enduro/X no “dirty fixes” are
needed, as when the queue is full, the process blocks and waits for free space.
Then after all the ActiveMQ with Go STOMP client was also showing good results
when message size increased. But the downside with STOMP client was that, during
the testing, the client got disconnected for some reason. RabbitMQ also seems to
be stable platform and no special fixes were needed to execute the test cases
(except that channel send must be used to get “blocked” style calls). RabbitMQ
showed quite good stable results.
New version of Enduro/X offers configuration of XATMI service cache by means of administrative configuration. No additional programming is required to enable service cache. The service cache allows to increase the performance of existing applications which are using Enduro/X. Cache using proven LMDB memory mapped file technology, which allows to create a persisted and non persisted caches. The Enduro/X configuration allows to create distributed caches where data of caches is synchronized between cluster nodes. The configuration allows to define rules when data shall be cached and shall be invalidated. Caches can be limited by different strategies. Cached data can be marked with expiry too.
For configuration details see tpcached(3) man page. For configuration examples see https://github.com/endurox-dev/endurox/tree/master/atmitest/test048_cache.
This version also includes other bugfixes and small improvements.
Stable release version is: 5.3.4+.
- Fixed Bug #269: tpchkunsol routine not working
Major work on support for PCI/DSS mandatory configuration encryption have been performed. Now Enduro/X is capable of encrypt and decrypt sections of configuration file. Provided command line utilities "exencrypt" and "exdecrypt" for encryption use in scripts. Introduction of plugin architecture (currently used for crypto key providers) So that software vendors may implement it's own algorithms for symmetrical encryption key storage.
Implemented tpconvert() ATMI call. Other feature now is that "@global" section for ini files are read twice, meaning that in ini file user may reference to previously defined env/global variable.
Enduro/X 5.1 have been released. The main changes in this version is support for big message sizes. Up till version 5.0 the max message size in system was limited to 64KB. Now with version 5.1 and upwards, the limit is removed. Now message size is limited by the Operating System - POSIX Message queue subsystem. More details about message queue, please see Enduro/X Admin Manual.
Other notable changes which are included in this release, is Client Process Monitor (cpmsrv) and corresponding command line utilities like "xadmin bc", "xadmin rc" and "xadmin sc" now are capable to handle the client tags and subsections by wild card matching. Symbol "%" can be used for substituting any string. Also CPMSRV command line utilities accept tag/subsection with out any extra arguments. For more information see xadmin's man page
There are few bugfixes made in tpbridge. The tpbridge protocol mode TLV is changed, now data length is encoded in 4 bytes (instead of 2). There are few performance improvements made in system with this release. Changes in UBF library to not to perform free space memset to zero. Also few buffer copies are eliminated from tpbridge. Tpbridge also got extra data validity checks to avoid buffer overruns in case of defective TCP packets.
- #160 Feature Closed High Add feature to XA subsystem so that if tpbegin() fails, then do tpclose/tpopen/tpbegin again
In short, in some customer environments setups, the aggressive firewalls might drop the connection which have been established to database via tpopen(internally xa_open). In those cases if Transaction Manager Server (tmsrv) have been long standing with out activity, the connection might be dropped. Then next incoming request for new transaction might fail with different errors. Thus to address this issue new "NDRX_XA_FLAGS" environment variable have been added. It is tag-value based parameter. Currently new tag "RECON" have been added.
Excerpt from manpage
NDRX_XA_FLAGS=XADMIN_XA_FLAGS Special for XA sub-system. It is semicolon separated tags with values. currently tag RECON is defined. RECON tag defines the number of attempts of xa_close()/xa_open() and doing xa_start() again in case if original xa_start() failed (the ATMI call tpbegin()) - for example firewall have been closed the connection. The format for the tag is: RECON:<comma separated list of error codes e.g. 4,-8,* - any err>:<number of attempts>:<sleep between attempts milli-sec> example: RECON:*:3:100, meaning reconnect on any xa_start error, do the 3x attempts, sleep 100 milliseconds between attempts.
The parameter shall be set in environment file, or Common-Configuration [@global] section.
Following issues have been fixed in this release:
#112 Bug Closed High Remove conversational queues after client/server dies
#145 Bug Closed Normal Seems on linux when doing -sSVC1,SVC2,SVC3:OLDSVC does not do advertise of SVC2 and SVC3
#140 Bug Closed Normal Bug with service registry - possible core dump
#139 Feature Closed Normal Reuse service registry shared memory cells for services which does not have advertised any service
#113 Feature Closed Normal Add unix mode with assuming that mqd_t is file descriptor
- Enduro/X team is proud to announce that IBM AIX 7.1 binary builds will be provided on the regular release schedule.
- The first release could be found in Files section: endurox-3.5.3-1.AIX7_1_XL.powerpc.tar.gz
Note that platform-script is not supported on AIX, thus xadmin gen and xadmin provision are not available for AIX platform.
This version includes following fixed bugs:
#105 - ORA-01591: lock held by in-doubt distributed transaction 1.8.49044. Now transaction if it is in prepare stage and tmsrv is restarted, then transaction is automatically aborted, because there is no way that caller will get back the positive response.
Also available in: Atom