[AgileWiki] the fix is in
Status: Beta
Brought to you by:
blaforge
From: Bill la F. <bil...@su...> - 2006-07-02 03:22:55
|
A table is marked dirty when set is called to add/change an entry in the table. Unfortunately, set is called when the table is initialized. And tables are initialized when a table is read. And tables are read outside of a transaction. So tables were marked dirty outside a transaction. And when there are too many open tables, a dirty table may get flushed to disk. And if a table is flushed to disk outside of a transaction, a crash occurs. So I've done two things now: 1. Initializing a table no longer results in the table being marked dirty. Hey, this should speed things up as well as fixing the bug! 2. When a table is marked dirty without a transaction, an exception is raised--catch bugs earlier so the failure is more repeatable. So, well, I'm thinking of doing a release of alpha29a very soon now. Bill |