hi well... I've never been happy on using the UUID generator for my keys, but is the fastest option I found. There are, of course, alternatives:
1) Using your own number generator (sequential, or whatever). Problem with that is that is image based, then you need a persistence strategy... then you are slow. 2) then you can use your own procedure in mongo... with same problem than (1) 3) you could use timestamp. but TimeStamps are slow :( anyway... I open to ideas :) in the mean time, you can check if your UUID generator is using the primitive or not. In you are not, you have more possibilities of having a collision. Esteban On Aug 29, 2013, at 11:27 AM, Sabine Knöfel <sabine.knoe...@gmail.com> 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 > > > > -- > View this message in context: > http://forum.world.st/voyage-mongo-randomly-wrong-OIDs-tp4705396p4705603.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. >