[ZODB-Dev] RelStorage: Clearing temp_store in
replication-friendly way
Stefan H. Holek
stefan at epy.co.at
Wed Jul 30 16:47:12 EDT 2008
On 27. Jul 2008, at 18:48, Shane Hathaway wrote:
> I would expect that when a slave goes down, the slave must replay
> all of the statements since the beginning of a transaction,
> including the statements that create temporary tables. Does it not
> work that way?
Not in MySQL anyway. MySQL knows transactions at table-level only.
For replication, the slave maintains the name of the master log file
and a pointer to the next line to be read from it. That's all.
> Do slaves respect transaction boundaries? If they don't, then ZODB
> clients of slaves will miss object updates, leading to sporadically
> inconsistent ZODB caches, especially under load.
Slaves replay BEGIN, COMMIT, and ROLLBACK statements issued on the
master.
> We can do that, but I hope it doesn't impact performance too much.
> It seems a shame to not use a RAM-based temporary table. OTOH,
> I've tried to structure RelStorage to allow changes like this
> without too much effort.
I am primarily aiming for redundancy here, not performance.
And -BTW- you have and thanks for that.
Stefan
--
Anything that, in happening, causes itself to happen again,
happens again. --Douglas Adams
More information about the ZODB-Dev
mailing list