From 14ee78b3af6d5e0a12ead9a7c62bbc54f5d0ac7e Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 26 Mar 2008 18:06:29 +0000 Subject: [PATCH] * Tweaking master uuid exception to make it clearer what just went wrong (user server timeout) * Increasing GetUserProfile requests only to 6 seconds from 3 * Not completely sure what effect this will have, though probably not much * At some point one will have to accept that if the grid servers are taking many many seconds to respond, running using that grid will not be viable. * Perhaps there should be a big warning up front if grid request times are slower than n seconds. --- .../Communications/OGS1/OGS1UserServices.cs | 50 +++++++++++++++---- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs index 43b39395b7..79e323a737 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs @@ -106,7 +106,7 @@ namespace OpenSim.Region.Communications.OGS1 } else { - m_log.Warn("[INTERGRID]: Got invalid queryID from userServer"); + m_log.Warn("[OGS1 USER SERVICES]: Got invalid queryID from userServer"); } return pickerlist; } @@ -188,13 +188,18 @@ namespace OpenSim.Region.Communications.OGS1 } catch (WebException e) { - m_log.Warn("Error when trying to fetch Avatar Picker Response: " + + m_log.Warn("[OGS1 USER SERVICES]: Error when trying to fetch Avatar Picker Response: " + e.Message); // Return Empty picker list (no results) } return pickerlist; } + /// + /// Get a user profile from the user server + /// + /// + /// null if the request fails public UserProfileData GetUserProfile(string name) { try @@ -204,19 +209,26 @@ namespace OpenSim.Region.Communications.OGS1 IList parameters = new ArrayList(); parameters.Add(param); XmlRpcRequest req = new XmlRpcRequest("get_user_by_name", parameters); - XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 3000); + XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 6000); Hashtable respData = (Hashtable) resp.Value; return ConvertXMLRPCDataToUserProfile(respData); } catch (WebException e) { - m_log.Warn("Error when trying to fetch profile data by name from remote user server: " + - e.Message); + m_log.ErrorFormat( + "[OGS1 USER SERVICES]: Error when trying to fetch profile data by name from remote user server: {0}", + e); } + return null; } + /// + /// Get a user profile from the user server + /// + /// + /// null if the request fails public UserProfileData GetUserProfile(LLUUID avatarID) { try @@ -226,16 +238,18 @@ namespace OpenSim.Region.Communications.OGS1 IList parameters = new ArrayList(); parameters.Add(param); XmlRpcRequest req = new XmlRpcRequest("get_user_by_uuid", parameters); - XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 3000); + XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 6000); Hashtable respData = (Hashtable) resp.Value; return ConvertXMLRPCDataToUserProfile(respData); } catch (Exception e) { - Console.WriteLine("Error when trying to fetch profile data by uuid from remote user server: " + - e.Message); + m_log.ErrorFormat( + "[OGS1 USER SERVICES]: Error when trying to fetch profile data by uuid from remote user server: {0}", + e); } + return null; } @@ -244,24 +258,40 @@ namespace OpenSim.Region.Communications.OGS1 // TODO: implement } + /// + /// Retrieve the user information for the given master uuid. + /// + /// + /// public UserProfileData SetupMasterUser(string firstName, string lastName) { return SetupMasterUser(firstName, lastName, String.Empty); } + /// + /// Retrieve the user information for the given master uuid. + /// + /// + /// public UserProfileData SetupMasterUser(string firstName, string lastName, string password) { UserProfileData profile = GetUserProfile(firstName, lastName); return profile; } + /// + /// Retrieve the user information for the given master uuid. + /// + /// + /// public UserProfileData SetupMasterUser(LLUUID uuid) { UserProfileData data = GetUserProfile(uuid); if (data == null) { - throw new Exception("[OGS1 USER SERVICES]: Unknown master user " + uuid); + throw new Exception( + "Could not retrieve profile for master user " + uuid + ". User server did not respond to the request."); } return data; @@ -497,7 +527,7 @@ namespace OpenSim.Region.Communications.OGS1 } catch (WebException e) { - m_log.Warn("Error when trying to fetch Avatar's friends list: " + + m_log.Warn("[OGS1 USER SERVICES]: Error when trying to fetch Avatar's friends list: " + e.Message); // Return Empty list (no friends) }