[sldev] Unexpected objects return in group land
secret.argent at gmail.com
Thu Jul 9 18:43:38 PDT 2009
On 2009-07-09, at 04:23, Dale Mahalko wrote:
> On Wed, Jul 8, 2009 at 8:37 PM, Argent
> Stonecutter<secret.argent at gmail.com> wrote:
>> The correct solution (don't rez the object, leave it
>> in inventory) seems too obvious.
> This sounds like a potential race condition, since rez requests are
> not instant and load-in takes time. Assume two people want to rez
> objects on a parcel with limited space. Both attempt to rez a high
> prim object from inventory at the same time (or within milliseconds).
This is a problem that is covered in freshman CS, in the first
database course you take.
> 1. The sim does a precheck for space availability for #1, finds enough
> room, starts the load-in
> 2. Asset system is being slow again
> 3. The sim does a precheck for space availability for #2, finds that
> another load-in is pending and not completed yet, and so aborts the
> rez attempt.
> 4. Object #`1 rezzes
That's it, the TRANSACTION-COMMIT operation every DBA is intimately
With a transactionalized system, you can even allow overcommit, and
abort (return) pending transactions when one completes. A sim in SL
can handle up to 20,000 prims, because there ARE 20,000 prim sims in
SL, so allowing up to 5000 prims of overcommit is acceptable.
So A says "I need 1000 prims" and it says "OK" and B says "I need 1000
prims" and it says "OK, with 300 prims of overcommit". If be rezzes
first, A gets returned. If you try to rez more than the buffer, then
you get deferred. If you continue to do so, you get throttled.
More information about the SLDev