public void RemoveKey(string key)
{
long map = this.tree[key];
//this.archive.ReleaseBuffers(map);
//this.FreeChunksOnCommit.Add(map);
if (this.FreeChunksOnAbort.ContainsKey(map))
{
// free it now
this.FreeChunksOnAbort.Remove(map);
this.archive.ReleaseBuffers(map);
}
else
{
// free when committed
this.FreeChunksOnCommit[map] = map;
}
this.tree.RemoveKey(key);
}