[ZODB-Dev] Why DO we use timestamps as transaction ids?

Dieter Maurer dieter at handshake.de
Thu Oct 5 13:49:45 EDT 2006


Chris Withers wrote at 2006-10-5 09:52 +0100:
>Dieter Maurer wrote:
>> You should be happy about the much more explicit information.
>> It may allow you to analyse your problem better.
>
>This question has nothing to do with that problem, it just came up as a 
>result of once again being reminded that we use timestamps as 
>transaction ids.
>
>> For example, these timestamps precisely tell you from when
>> the doubled transaction entries come. It may help you to verify
>> that they come from a single incremental backup file.
>
>Yes, but using timestamps also means:
>
>- we're dependent on the system clock being accurate for no good reason

Requirements are very moderate.

Only packing really depends on those dates and you usually
do not need packing control below second resolution.

>- under high load, we have to deal with the possibility of duplicate 
>transaction ids

No, because the storages take care of this.
>
>I'm wondering why we take on those issues rather than just use an 
>incrementing integer sequence instead?

With integer keys, you would not be able to pack to something
like n days before -- as you do not have any time in your
storage file....



-- 
Dieter


More information about the ZODB-Dev mailing list