Turns out uuid_generate_time() on this machine is producing duplicate UUIDs, which is really bad. I reproduced this behavior outside of drizzle as well with:
So, in order to guarantee uniqueness we either need to come up with a new uuid function of our own or somehow serialize uuid_generate. A simple mutex may not work since CPU clocks may not always be in sync with each other. We would probably need to keep a small time history of recent UUIDs to provide a guarantee.
Turns out uuid_generate_ time() on this machine is producing duplicate UUIDs, which is really bad. I reproduced this behavior outside of drizzle as well with:
http:// oddments. org/wiki/ index.php? id=programming: c:uuid_ dupes.c
So, in order to guarantee uniqueness we either need to come up with a new uuid function of our own or somehow serialize uuid_generate. A simple mutex may not work since CPU clocks may not always be in sync with each other. We would probably need to keep a small time history of recent UUIDs to provide a guarantee.