[Opensim-dev] Duplicate entries for Hypergrid users in GridUser table

Oren Hurvitz orenh at kitely.com
Mon Apr 21 06:55:06 UTC 2014


<Tap, tap> Is this thing on? OK, trying out the new mailing list...

The GridUser table contains some information about users: their Online
status (in the grid, not globally); home region; etc. For HG-enabled grids
this table can contain entries for Hypergrid users: when a user
HG-teleports into the grid, an entry is created for them. That entry is
kept up-to-date to show the user as Online or Offline.

The problem is that HG users are sometimes identified using a UUID, and
sometimes using a UUI (Universal User Identifier). For example:

UUID: 00000000-0000-0000-0000-000000000000
UUI: 00000000-0000-0000-0000-000000000000;
http://grid.example.com:8002/;First Last

The GridUser table allows both entries to exist simultaneously. Actually it
allows even more than two entries, because multiple UUI's can refer to the
same user.

This seems to be a mistake: a user can only be online or offline. Was there
a reason that multiple entries were allowed?

This duplication has caused problems in the past: e.g., a user's status was
updated using one of the entries, but then retrieved from a different
entry, which didn't reflect the current status. This problem was partially
fixed in a patch to GridUserService.cs (Feb 2014) that attempts to always
select the same entry for the user (the one with the longest User ID). But
this still doesn't fix the problem completely, as it can still return
different entries if requests are made using different UUI's.

I think that GridUserService should be changed so that it allows only one
entry per UUID. It will still store the full UUI if given, but it won't
allow multiple UUI's for the same user. Thoughts?

Oren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20140421/e3e117f2/attachment.html>


More information about the Opensim-dev mailing list