Feature #739

Singleton process groups and delayed queue support

Added by Madars over 2 years ago. Updated 5 months ago.

Status:ClosedStart date:12/08/2021
Priority:Normal (Code 4)Due date:
Assignee:-% Done:

100%

Category:-
Target version:-

History

#1 Updated by Madars over 2 years ago

It would nice to have:

Singleton process groups:

- Special grouping in ndrxconfig.xml shall be made, so that ndrxd would boot only those server for which the singleton group XATMI (special server) have got the DLM lock.
The other instances living in the same singleton group would wait for the lock and would not boot the ndrxd/cpmsrv processes (just bypass their booting).
- If lock is lost by singleton group server, the processes in the singleton group shall killed immediately.
- The singleton group providers could write timestamps in shared memory. Any critical binaries such as tmsrv or tmqueue could at certain decision points check the status of timestamp updates. If not updated for too long, the process should just restart it self, As there might be a chance that server was suspended and other node already have taken over, while first node have not yet had a time to kill the singleton group processes (as lock is was lost).

#2 Updated by Madars 5 months ago

  • Subject changed from Distributed lock support, and singleton process groups to Singleton process groups

#3 Updated by Madars 5 months ago

Release notes

  • Implemented process groups, for which there is option to configure group as singleton. See "<procgrps>" tag in ndrxconfig.xml(5).
  • Implemented fcntl() based lock provider. See manage of exsinglesv(5). tmqueue(8) and tmsrv(8) processes has been updated to support the singleton work mode.
  • Added support for tpenqueue(3) flags TPQTIME_ABS and TPQTIME_REL.

Process groups are optional (new feature), which by default are not used. For more information, read: https://www.endurox.org/dokuwiki/doku.php?id=endurox:v8.0.x:guides:ex_adminman#_singleton_process_groups

Before upgrading from previous version, please ensure that all running instances on the server are terminated and additionally following command must be executed before package upgrade (i.e. on old version):

$ xadmin down -y

As in new version LCF SHM sizes are changed, down command ensures that LCF shared memory is removed.

New version's ABI is backwards compatible with previous Enduro/X 8.0.x versions.

Available from Enduro/X release 8.0.10+.

#4 Updated by Madars 5 months ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

#5 Updated by Madars 5 months ago

  • Status changed from Resolved to Closed

#6 Updated by Madars 5 months ago

  • Subject changed from Singleton process groups to Singleton process groups and delayed queue support

Also available in: Atom PDF