Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs

Recent posts

Sat 18 Jul 2020

Enduring favorite - Getting Data out of Notes (for whatever reason)

Thu 9 Jul 2020

Maximizing power while minimizing code and effort

Fri 29 May 2020

Round tripping, even while staying put

August, 2020
02 03 04 05 06 07 08
09 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Search the weblog

Genii Weblog

CoexLinks Fidelity 3.65 available

Fri 17 Oct 2014, 10:58 AM

by Ben Langhinrichs
Last night, Genii Software released CoexLinks Fidelity Version 3.65. This release incorporates three major updates as well as bug fixes and minor enhancements since the previous release. Version 3.65 is currently available for Windows 32-bit and Windows 64-bit, and it is planned that the Linux version will be available next week.

Update 1 - 30% performance enhancement
With a complete code review and numerous changes to streamline, we have achieved a 30% or better improvement in email processing. While most customers won't see a lot of difference because the performance was very good even before these changes, those with heavily loaded systems may see a decrease in bottleneck situations where messages where sometimes backing up in the database. This performance enhancement is separate from the multi-processing mode below which can also have large performance benefits.

Update 2 - Support for Multiple Message Store databases
Customers using the Message Store feature extensively are now able to specify multiple databases, and CoexLinks Fidelity will cycle through the Message Stores to distribute the load. While a single Message Store database is enough when the feature is implemented for only rare message formats, multiple Message Store databases make sense for customers who configure the feature to trap a larger percentage of emails, or who use encrypted mail extensively.

Update 3 - Multi-processing mode with Enhanced Crash Protection
It is quite common for a hub or gateway server to have multiple databases to allow smoother, faster processing by the Router task. In this mode, the CoexLinks MsgProc task can spin off a separate process for each, allowing parallel processing and preventing bottlenecks if one gets backed up. In addition, the multi-process mode allows enhanced crash protection so that if a badly corrupted rich text message manages to crash the rendering engine, the process will detect the crash, log the message which caused the problem and shut itself down. The process manager will then detect that the process is gone and will restart, skipping the offending message. Note that this is extremely rare, but even if it happens in one out of a million messages and a customer has three hundred thousand emails a day, the crash could theoretically happens once every 3 to 4 days. With this feature enabled, processing will go on without pause, and the offending message can be identified and analyzed so that a similar crash can be avoided in the future. 

The following console messages show how the multiple process happens. Since we have no messages we can find that currently crash the process, no matter how badly corrupted, we had to add a debug flag that allowed us to create a null pointer for a specific message so we could show what happens when it occurs.

Inline GIF image

Copyright 2014 Genii Software Ltd.

What has been said:

No documents found