Login  Register

Re: voyage/mongo randomly wrong OIDs

Posted by jan.struz on Aug 29, 2013; 12:44pm
URL: https://forum.world.st/voyage-mongo-randomly-wrong-OIDs-tp4705396p4705619.html

Hi,
feel free to use & integrate the following fix:

Fix-Mongo-OID.cs <http://forum.world.st/file/n4705616/Fix-Mongo-OID.cs

Jan

Sabine Knöfel wrote
Hi Esteban, All,

I was proceeding to seach for the reason of the problem I described yesterday.

I added some debugging code into VOMongoSerializer>>ensurePersisted: and the problem I described, did NOT occur.

That made the whole process slower...and I had an idea....

I was looking into >>UUIDGenerator default makeSeed.
Then I tried the following code:

|theOld theNew|

100000000 timesRepeat: [
        theNew :=  UUIDGenerator default makeSeed.
        theNew = theOld ifTrue: [self halt].
        theOld := theNew]

The debugger came up! Doesn't that mean that, if the code is run very fast, there are double OIDs generated?!

In my case, the objects for country and currency are very lightweight and so, they are created very fast. Also, the error occured much more often within my fast production EC2 instance as at my (old and slow) development pc.

Important: I work with windows and so >>makeUnixSeed returns nil... :-)

What is your opinion about that?

Sabine
Save The World!