Friday, February 3, 2012

LLgiveinventory Throttle info

I’m seeing enough disinformation in both directions regarding the new “LLgiveinventory Throttle“ , I have decided to document what it is and what it does here. DISCLAIMER: This is based on the best information I have to date on this issue as of 2/3/2012. I do not work for Linden Labs (LL) and have not been able to find any “official” documentation from LL other than comments found in the Jira (https://jira.secondlife.com/browse/SVC-7631) “New rate throttle on llGiveInventory”, started by Fred Allandale.

LLgiveinventory is a linden script function used in many devices to give an item to you. LL is putting a limit on the rate items are given out. Go over that rate and the function fails to give any items for a set period of time. This choke is not limited to one offending device but rather is cumulative across all devices using LLgiveinventory rezzed by the same avatar on the same sim.

As an example: A store in SL has a scripted mailing list, scripted product vendors, riot vendors, info givers and the like. The store announces an event (sale, new release, etc.) in its mailing list and customers come to participate. If all the calls to LLgiveinventory go over the limit all use of LLgiveinventory fail, the mailing list continues to run but stops giving announcements, you pay for an item from a scripted vendor that takes your money but fails to give you your item, even simple LM givers fail to function for a long as 90 minutes.

My partner and I tested this with her Sn@tch scripted mailing list and saw all LLgiveinventory functions fail on the sim on devices owned by her at 13% into a 20,000+ list, or about 2,500 names into the list. LLgiveinventory functionality did not return for well over an hour. Luckily we ran the device on a different sim from her main store so her info givers, lucky boards, etc. were unaffected.

Reasons given for this change include back end infrastructure performance as well as preventing “griefing” by spammers. Why this was change was made without any notice or documentation change is anyone’s guess. The Jira was started by Fred Allandale when he found it on the Magnum group of sims, when I heard about it, it had already been rolled out to the entire grid.

Kelly Linden from the JIRA stated “throttle is 5k per hour per owner per region; the maximum burst is 2.5k” but later started sighting a “rolling window” of where old calls to LLgiveinventory would continue to be counted with new calls well after hitting the limit, possibly extending the overall down time of the process.

Solutions to this issue will vary from situation to situation. In our case we obtained a newer slower version of the scripted mailing list device from the creator that we are running on a sim separate from the main store so its use of LLgiveinventory is not added to that of other devices.

Hope this helps.

-Roblem Hogarth

1 comment:

  1. Actually why the change was made without announcement is stated by Lindens in the forum and JIRA and in the Server/Scripting User Group meetings.

    See: #SL Server/Scripting News Update Wk5 @ http://blog.nalates.net/2012/02/03/sl-serverscripting-news-update-wk5/

    ReplyDelete