[350] in Moira
Moira: string table corruption
daemon@ATHENA.MIT.EDU (Mark Rosenstein)
Mon Oct 28 16:43:56 1991
Date: Mon, 28 Oct 91 16:42:57 -0500
From: Mark Rosenstein <mar@MIT.EDU>
To: basch@MIT.EDU
Cc: ops@Athena.MIT.EDU, op@Athena.MIT.EDU, bug-moira@MIT.EDU
In-Reply-To: "Richard Basch"'s message of Mon, 28 Oct 91 00:01:26 -0500 <9110280501.AA11391@podge>
Just to let you all know what happened...
There was only the one piece of database corruption that I could find.
Apparently it got there like this: someone attempted to add a string
(kerberos) to a list, but didn't have permission to do so. Moira
created the string in the database and the in-memory cache before
discovering that the query would not succeed. When the query was
aborted, all traces were removed from the database, but the string
mapping was left in the in-memory cache. Someone else with the proper
permissions then attempted the same transaction. It discovered the
cached mapping, and never bothered to write the mapping into the
database. The next query that attempted to allocate a string found
that ID not in use in the database and re-used it.
I haven't fixed the code yet because this is difficult to fix, and a
fairly rare occurance. I will investigate it further.
-Mark