Enduro/X 3.5.9 Released

Added by Madars Vitolins 3 months ago

- #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

           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.

Enduro/X 3.5.6 Released

Added by Madars Vitolins 4 months ago

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

IBM AIX 7.1 Binary release

Added by Madars Vitolins 6 months ago

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

Enduro/X 3.5.2 Released

Added by Madars Vitolins 6 months ago

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.

Enduro/X 3.3.2 Released

Added by Madars Vitolins 12 months ago

New functions have been added to XATMI sub-system, which is intended to be used by user for doing debug logging of their applications.
List of the function:

extern NDRX_API void tplogdumpdiff(int lev, char *comment, void *ptr1, void *ptr2, int len);
extern NDRX_API void tplogdump(int lev, char *comment, void *ptr, int len);
extern NDRX_API void tplog(int lev, char *message);
extern NDRX_API int tploggetreqfile(char *filename, int bufsize);
extern NDRX_API int tplogconfig(int logger, int lev, char *debug_string, char *module,
char *new_file);
extern NDRX_API void tplogclosereqfile(void);
extern NDRX_API void tplogclosethread(void);
extern NDRX_API void tplogsetreqfile_direct(char *filename);


extern NDRX_API int tplogsetreqfile(char **data, char *filename, char *filesvc);
extern NDRX_API int tploggetbufreqfile(char *data, char *filename, int bufsize);
extern NDRX_API int tplogdelbufreqfile(char *data);
extern NDRX_API void tplogprintubf(int lev, char *title, UBFH *p_ub);

See the man pages of these function, and additional information can be found in ex_devguide document.

Enduro/X 3.3.1 Released

Added by Madars Vitolins about 1 year ago

INI Based configuration system

Enduro/X 3.3.1 now can be configured by using ini file (or files) instead of environment variables, ndrxdebug.conf and q.conf.
Two new environment variables now are added to the system:

1. NDRX_CCONFIG=/path/to/ini/file/or/directory/with/files
2. and optional NDRX_CCTAG which allows processes to specify the subsection of Enduro/X system settings.

The configurations sections are:
[@global] - environment variables for process (see ex_env(5))
[@debug] - debug configuration per binary (see ndrxdebug.conf(5))
[@queue] - persistent queue configurations.

If you use NDRX_CCTAG or specify the "cctag" for ATMI server, then Enduro/X will scan for sections like (e.g. cctag=TAG1):
[@global/TAG1] and then [@global]
[@debug/TAG1] and then [@debug]
[@queue/TAG1] and then [@debug]

cctag can contain multiple tags, which are separated by '/'. In that case multiple lockups will be made with base section combination.

Configuration server available for user applications

New configuration server is being added "cconfsrv" which can be used by applications to use Enduro/X framework for application configuration. The user application can call the "@CCONFIG" server in two modes: A) for getting the exact section, B) for listing the sections. See cconfsrv(8) for more details. The idea behind this is that user can do the programming under Enduro/X in multiple languages (C/Go/Perl/Python/PHP/NodeJs) and these modules typically needs configuration. It would be waste of time if for each of the languages developer would need to think how to read the configuration from config files with natlibraries.ies. The Enduro/X offers standard XATMI micro-service call for reading the ini files in common way for whole application, no matter in which language it is programmed.

The version gate be get at github:
or prebuilt version for Ubuntu 14.04 64bit is here:


Also available in: Atom