Change the error messages on region region registration. This changes URM
and region. The non-error case should be compatible, so no version bump. Untested.mysql-performance
parent
1261618216
commit
e3a04fcb7b
|
@ -200,7 +200,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
|
|
||||||
#region IGridService
|
#region IGridService
|
||||||
|
|
||||||
public bool RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
public string RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
||||||
{
|
{
|
||||||
// Region doesn't exist here. Trying to link remote region
|
// Region doesn't exist here. Trying to link remote region
|
||||||
if (regionInfo.RegionID.Equals(UUID.Zero))
|
if (regionInfo.RegionID.Equals(UUID.Zero))
|
||||||
|
@ -215,12 +215,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
|
|
||||||
// Try get the map image
|
// Try get the map image
|
||||||
m_HypergridServiceConnector.GetMapImage(regionInfo);
|
m_HypergridServiceConnector.GetMapImage(regionInfo);
|
||||||
return true;
|
return String.Empty;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.Info("[HGrid]: No such region " + regionInfo.ExternalHostName + ":" + regionInfo.HttpPort + "(" + regionInfo.InternalEndPoint.Port + ")");
|
m_log.Info("[HGrid]: No such region " + regionInfo.ExternalHostName + ":" + regionInfo.HttpPort + "(" + regionInfo.InternalEndPoint.Port + ")");
|
||||||
return false;
|
return "No such region";
|
||||||
}
|
}
|
||||||
// Note that these remote regions aren't registered in localBackend, so return null, no local listeners
|
// Note that these remote regions aren't registered in localBackend, so return null, no local listeners
|
||||||
}
|
}
|
||||||
|
@ -469,7 +469,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finally, link it
|
// Finally, link it
|
||||||
if (!RegisterRegion(UUID.Zero, regInfo))
|
if (RegisterRegion(UUID.Zero, regInfo) != String.Empty)
|
||||||
{
|
{
|
||||||
m_log.Warn("[HGrid]: Unable to link region");
|
m_log.Warn("[HGrid]: Unable to link region");
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
|
|
||||||
#region IGridService
|
#region IGridService
|
||||||
|
|
||||||
public bool RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
public string RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
||||||
{
|
{
|
||||||
return m_GridService.RegisterRegion(scopeID, regionInfo);
|
return m_GridService.RegisterRegion(scopeID, regionInfo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,12 +135,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
|
|
||||||
#region IGridService
|
#region IGridService
|
||||||
|
|
||||||
public override bool RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
public override string RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
||||||
{
|
{
|
||||||
if (m_LocalGridService.RegisterRegion(scopeID, regionInfo))
|
string msg = m_LocalGridService.RegisterRegion(scopeID, regionInfo);
|
||||||
|
|
||||||
|
if (msg == String.Empty)
|
||||||
return base.RegisterRegion(scopeID, regionInfo);
|
return base.RegisterRegion(scopeID, regionInfo);
|
||||||
|
|
||||||
return false;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool DeregisterRegion(UUID regionID)
|
public override bool DeregisterRegion(UUID regionID)
|
||||||
|
|
|
@ -1562,9 +1562,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//m_sceneGridService.RegisterRegion(m_interregionCommsOut, RegionInfo);
|
//m_sceneGridService.RegisterRegion(m_interregionCommsOut, RegionInfo);
|
||||||
|
|
||||||
GridRegion region = new GridRegion(RegionInfo);
|
GridRegion region = new GridRegion(RegionInfo);
|
||||||
bool success = GridService.RegisterRegion(RegionInfo.ScopeID, region);
|
string error = GridService.RegisterRegion(RegionInfo.ScopeID, region);
|
||||||
if (!success)
|
if (error != String.Empty)
|
||||||
throw new Exception("Can't register with grid");
|
throw new Exception(error);
|
||||||
|
|
||||||
m_sceneGridService.SetScene(this);
|
m_sceneGridService.SetScene(this);
|
||||||
m_sceneGridService.InformNeighborsThatRegionisUp(RequestModuleInterface<INeighbourService>(), RegionInfo);
|
m_sceneGridService.InformNeighborsThatRegionisUp(RequestModuleInterface<INeighbourService>(), RegionInfo);
|
||||||
|
|
|
@ -156,14 +156,14 @@ namespace OpenSim.Server.Handlers.Grid
|
||||||
m_log.DebugFormat("[GRID HANDLER]: exception unpacking region data: {0}", e);
|
m_log.DebugFormat("[GRID HANDLER]: exception unpacking region data: {0}", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool result = false;
|
string result = "Error communicating with grid service";
|
||||||
if (rinfo != null)
|
if (rinfo != null)
|
||||||
result = m_GridService.RegisterRegion(scopeID, rinfo);
|
result = m_GridService.RegisterRegion(scopeID, rinfo);
|
||||||
|
|
||||||
if (result)
|
if (result == String.Empty)
|
||||||
return SuccessResult();
|
return SuccessResult();
|
||||||
else
|
else
|
||||||
return FailureResult();
|
return FailureResult(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
byte[] Deregister(Dictionary<string, object> request)
|
byte[] Deregister(Dictionary<string, object> request)
|
||||||
|
@ -431,6 +431,11 @@ namespace OpenSim.Server.Handlers.Grid
|
||||||
}
|
}
|
||||||
|
|
||||||
private byte[] FailureResult()
|
private byte[] FailureResult()
|
||||||
|
{
|
||||||
|
return FailureResult(String.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
private byte[] FailureResult(string msg)
|
||||||
{
|
{
|
||||||
XmlDocument doc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
|
|
||||||
|
@ -449,6 +454,11 @@ namespace OpenSim.Server.Handlers.Grid
|
||||||
|
|
||||||
rootElement.AppendChild(result);
|
rootElement.AppendChild(result);
|
||||||
|
|
||||||
|
XmlElement message = doc.CreateElement("", "Message", "");
|
||||||
|
message.AppendChild(doc.CreateTextNode(msg));
|
||||||
|
|
||||||
|
rootElement.AppendChild(message);
|
||||||
|
|
||||||
return DocToBytes(doc);
|
return DocToBytes(doc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ namespace OpenSim.Services.Connectors
|
||||||
|
|
||||||
#region IGridService
|
#region IGridService
|
||||||
|
|
||||||
public virtual bool RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
public virtual string RegisterRegion(UUID scopeID, GridRegion regionInfo)
|
||||||
{
|
{
|
||||||
Dictionary<string, object> rinfo = regionInfo.ToKeyValuePairs();
|
Dictionary<string, object> rinfo = regionInfo.ToKeyValuePairs();
|
||||||
Dictionary<string, object> sendData = new Dictionary<string,object>();
|
Dictionary<string, object> sendData = new Dictionary<string,object>();
|
||||||
|
@ -110,11 +110,23 @@ namespace OpenSim.Services.Connectors
|
||||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||||
|
|
||||||
if (replyData.ContainsKey("Result")&& (replyData["Result"].ToString().ToLower() == "success"))
|
if (replyData.ContainsKey("Result")&& (replyData["Result"].ToString().ToLower() == "success"))
|
||||||
return true;
|
{
|
||||||
else if (!replyData.ContainsKey("Result"))
|
return String.Empty;
|
||||||
m_log.DebugFormat("[GRID CONNECTOR]: reply data does not contain result field");
|
}
|
||||||
else
|
else if (replyData.ContainsKey("Result")&& (replyData["Result"].ToString().ToLower() == "failure"))
|
||||||
|
{
|
||||||
m_log.DebugFormat("[GRID CONNECTOR]: unexpected result {0}", replyData["Result"].ToString());
|
m_log.DebugFormat("[GRID CONNECTOR]: unexpected result {0}", replyData["Result"].ToString());
|
||||||
|
return replyData["Message"].ToString();
|
||||||
|
}
|
||||||
|
else if (!replyData.ContainsKey("Result"))
|
||||||
|
{
|
||||||
|
m_log.DebugFormat("[GRID CONNECTOR]: reply data does not contain result field");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_log.DebugFormat("[GRID CONNECTOR]: unexpected result {0}", replyData["Result"].ToString());
|
||||||
|
return "Unexpected result "+replyData["Result"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -125,7 +137,7 @@ namespace OpenSim.Services.Connectors
|
||||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return "Error communicating with grid service";
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool DeregisterRegion(UUID regionID)
|
public virtual bool DeregisterRegion(UUID regionID)
|
||||||
|
|
|
@ -62,7 +62,7 @@ namespace OpenSim.Services.GridService
|
||||||
|
|
||||||
#region IGridService
|
#region IGridService
|
||||||
|
|
||||||
public bool RegisterRegion(UUID scopeID, GridRegion regionInfos)
|
public string RegisterRegion(UUID scopeID, GridRegion regionInfos)
|
||||||
{
|
{
|
||||||
// This needs better sanity testing. What if regionInfo is registering in
|
// This needs better sanity testing. What if regionInfo is registering in
|
||||||
// overlapping coords?
|
// overlapping coords?
|
||||||
|
@ -71,7 +71,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[GRID SERVICE]: Region {0} tried to register in coordinates {1}, {2} which are already in use in scope {3}.",
|
m_log.WarnFormat("[GRID SERVICE]: Region {0} tried to register in coordinates {1}, {2} which are already in use in scope {3}.",
|
||||||
regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID);
|
regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID);
|
||||||
return false;
|
return "Region overlaps another region";
|
||||||
}
|
}
|
||||||
if ((region != null) && (region.RegionID == regionInfos.RegionID) &&
|
if ((region != null) && (region.RegionID == regionInfos.RegionID) &&
|
||||||
((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY)))
|
((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY)))
|
||||||
|
@ -101,7 +101,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
m_log.WarnFormat("[GRID SERVICE]: Region {0} tried to register duplicate name with ID {1}.",
|
m_log.WarnFormat("[GRID SERVICE]: Region {0} tried to register duplicate name with ID {1}.",
|
||||||
regionInfos.RegionName, regionInfos.RegionID);
|
regionInfos.RegionName, regionInfos.RegionID);
|
||||||
return false;
|
return "Duplicate region name";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ namespace OpenSim.Services.GridService
|
||||||
m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) registered successfully at {2}-{3}",
|
m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) registered successfully at {2}-{3}",
|
||||||
regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY);
|
regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY);
|
||||||
|
|
||||||
return true;
|
return String.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool DeregisterRegion(UUID regionID)
|
public bool DeregisterRegion(UUID regionID)
|
||||||
|
|
|
@ -42,7 +42,7 @@ namespace OpenSim.Services.Interfaces
|
||||||
/// <param name="regionInfos"> </param>
|
/// <param name="regionInfos"> </param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
/// <exception cref="System.Exception">Thrown if region registration failed</exception>
|
/// <exception cref="System.Exception">Thrown if region registration failed</exception>
|
||||||
bool RegisterRegion(UUID scopeID, GridRegion regionInfos);
|
string RegisterRegion(UUID scopeID, GridRegion regionInfos);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Deregister a region with the grid service.
|
/// Deregister a region with the grid service.
|
||||||
|
|
|
@ -63,27 +63,28 @@ namespace OpenSim.Tests.Clients.GridClient
|
||||||
GridRegion r3 = CreateRegion("Test Region 3", 1005, 1000);
|
GridRegion r3 = CreateRegion("Test Region 3", 1005, 1000);
|
||||||
|
|
||||||
Console.WriteLine("[GRID CLIENT]: *** Registering region 1");
|
Console.WriteLine("[GRID CLIENT]: *** Registering region 1");
|
||||||
bool success = m_Connector.RegisterRegion(UUID.Zero, r1);
|
string msg = m_Connector.RegisterRegion(UUID.Zero, r1);
|
||||||
if (success)
|
if (msg == String.Empty)
|
||||||
Console.WriteLine("[GRID CLIENT]: Successfully registered region 1");
|
Console.WriteLine("[GRID CLIENT]: Successfully registered region 1");
|
||||||
else
|
else
|
||||||
Console.WriteLine("[GRID CLIENT]: region 1 failed to register");
|
Console.WriteLine("[GRID CLIENT]: region 1 failed to register");
|
||||||
|
|
||||||
Console.WriteLine("[GRID CLIENT]: *** Registering region 2");
|
Console.WriteLine("[GRID CLIENT]: *** Registering region 2");
|
||||||
success = m_Connector.RegisterRegion(UUID.Zero, r2);
|
msg = m_Connector.RegisterRegion(UUID.Zero, r2);
|
||||||
if (success)
|
if (msg == String.Empty)
|
||||||
Console.WriteLine("[GRID CLIENT]: Successfully registered region 2");
|
Console.WriteLine("[GRID CLIENT]: Successfully registered region 2");
|
||||||
else
|
else
|
||||||
Console.WriteLine("[GRID CLIENT]: region 2 failed to register");
|
Console.WriteLine("[GRID CLIENT]: region 2 failed to register");
|
||||||
|
|
||||||
Console.WriteLine("[GRID CLIENT]: *** Registering region 3");
|
Console.WriteLine("[GRID CLIENT]: *** Registering region 3");
|
||||||
success = m_Connector.RegisterRegion(UUID.Zero, r3);
|
msg = m_Connector.RegisterRegion(UUID.Zero, r3);
|
||||||
if (success)
|
if (msg == String.Empty)
|
||||||
Console.WriteLine("[GRID CLIENT]: Successfully registered region 3");
|
Console.WriteLine("[GRID CLIENT]: Successfully registered region 3");
|
||||||
else
|
else
|
||||||
Console.WriteLine("[GRID CLIENT]: region 3 failed to register");
|
Console.WriteLine("[GRID CLIENT]: region 3 failed to register");
|
||||||
|
|
||||||
|
|
||||||
|
bool success;
|
||||||
Console.WriteLine("[GRID CLIENT]: *** Deregistering region 3");
|
Console.WriteLine("[GRID CLIENT]: *** Deregistering region 3");
|
||||||
success = m_Connector.DeregisterRegion(r3.RegionID);
|
success = m_Connector.DeregisterRegion(r3.RegionID);
|
||||||
if (success)
|
if (success)
|
||||||
|
@ -91,8 +92,8 @@ namespace OpenSim.Tests.Clients.GridClient
|
||||||
else
|
else
|
||||||
Console.WriteLine("[GRID CLIENT]: region 3 failed to deregister");
|
Console.WriteLine("[GRID CLIENT]: region 3 failed to deregister");
|
||||||
Console.WriteLine("[GRID CLIENT]: *** Registering region 3 again");
|
Console.WriteLine("[GRID CLIENT]: *** Registering region 3 again");
|
||||||
success = m_Connector.RegisterRegion(UUID.Zero, r3);
|
msg = m_Connector.RegisterRegion(UUID.Zero, r3);
|
||||||
if (success)
|
if (msg == String.Empty)
|
||||||
Console.WriteLine("[GRID CLIENT]: Successfully registered region 3");
|
Console.WriteLine("[GRID CLIENT]: Successfully registered region 3");
|
||||||
else
|
else
|
||||||
Console.WriteLine("[GRID CLIENT]: region 3 failed to register");
|
Console.WriteLine("[GRID CLIENT]: region 3 failed to register");
|
||||||
|
|
Loading…
Reference in New Issue