Shane Hathaway writes:
.... The change to transactions seems simple. Another thought: the long-lived queue might be committed only when there are regular objects to commit *and* a certain amount of time has passed since the last commit of the long-lived queue. That might work well for catalogs. Cool! Of course, you are aware that this decoupling of activities significantly increases the probability to observe inconsistencies:
* added or modified documents not (yet) found by a catalog search * real inconsistencies due to restarts/failures The first example, above, can be tackled by documentation and education. For the second, cleanup operations that either go back to a previous consistent state or finish what was on the long lived queue. Not that easy, I fear. At least, I calls for a formal project... Dieter