Includes DB changes. You need to log all terminals out during upgrade.
Not yet released. In another day or so
Low level system fixes and tweaks
- Very subtle bug where switching to fiche first time of day at exactly right moment can cause some data corruption when the system does a remote fiche refresh. In the one known instance where it happened it disabled online backup for that dealer. Thread race bug with c9 configuration, and requires perfect sub millisecond timing to trigger. Fixed in this version.
- General ledger balance caching can cause all c9 terminals to lockup requiring a server restart. Potentially happens in environments where the terminal network access is unreliable.; this is fix is motivated by a new client who as experienced this issue twice in ~ 2 months. General ledgers need to be able to tally balances to a set date for things like cash up screen etc. Instead of tallying 10+ years/ 3 million postings every time c9 needs to show you yesterdays cash on hand, c9 uses some sophisticated caching to speed this up 1000x fold. The current algorithm, cache on demand, requires very carefully managed locks between all computers. A cache request on one terminal needs to be sure other terminals are not simultaneously manipulating the general ledger while it is generating a figure for caching; otherwise it might miss changes currently in flight and incorrect information ends up being cached. If that terminal that requests a lock for caching then falls off network then all terminals are broken until a restart. This version of c9 introduces a new approach : mark/sweep cache. Mark/sweep requires no locking at all for getting balance tally. Cache updating is now only runs at midnight or whenever messenger is restarted and its implementation although still uses locks to ensure data consistency locks using a technique that is much more resilient to networking issues.