Edgewall Software

Version 3 (modified by Christian Boos, 18 years ago) ( diff )

Redirect to TracDev/Proposals/Journaling

Journaling Proposal

See the full version in TracDev/Proposals/Journaling.


In brief:

The Problem

Trac maintains coherency upon data changes by using various I...Listener extension points.

While this works in many cases, this approach is somewhat flawed or insufficient in situations where there are multiple server processes. And this is quite a common scenario, with the widespread use of the Apache/prefork web front-end.

A solution

Every change event could be journalled. A journal table could record all transactions and serve as a basis for redispatching changes happening in one process to other processes, in a generic way.

(and various other advantages)

Note: See TracWiki for help on using the wiki.