Version 3 (modified by 18 years ago) ( diff ) | ,
---|
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)