From 3464c6457e2e50fa7e41dc4aeaafe19e15306428 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 25 Aug 2020 15:31:39 +0100 Subject: [PATCH] mantis 8755: display bad folders owner (if avaiable) but on a single message per request, not per each bad one.(please test, i don't have bad folders --- .../FetchInventory/FetchInvDescHandler.cs | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/OpenSim/Capabilities/Handlers/FetchInventory/FetchInvDescHandler.cs b/OpenSim/Capabilities/Handlers/FetchInventory/FetchInvDescHandler.cs index 754f5a4bcf..b2de159ff6 100644 --- a/OpenSim/Capabilities/Handlers/FetchInventory/FetchInvDescHandler.cs +++ b/OpenSim/Capabilities/Handlers/FetchInventory/FetchInvDescHandler.cs @@ -142,6 +142,8 @@ namespace OpenSim.Capabilities.Handlers int total_folders = 0; int total_items = 0; + UUID requester = folders[0].owner_id; + List invcollSet = Fetch(folders, bad_folders, ref total_folders, ref total_items); //m_log.DebugFormat("[XXX]: Got {0} folders from a request of {1}", invcollSet.Count, folders.Count); @@ -157,6 +159,7 @@ namespace OpenSim.Capabilities.Handlers StringBuilder lastresponse = new StringBuilder(mem); lastresponse.Append(""); + if (invcollSetCount > 0) { lastresponse.Append("folders"); @@ -220,7 +223,6 @@ namespace OpenSim.Capabilities.Handlers lastresponse.Append("folders"); } - //m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Bad folders {0}", string.Join(", ", bad_folders)); if (bad_folders.Count > 0) { lastresponse.Append("bad_folders"); @@ -232,6 +234,22 @@ namespace OpenSim.Capabilities.Handlers lastresponse.Append("errorUnknown"); } lastresponse.Append(""); + + StringBuilder sb = osStringBuilderCache.Acquire(); + sb.Append("[WEB FETCH INV DESC HANDLER]: Unable to fetch folders owned by "); + sb.Append(requester.ToString()); + sb.Append(" :"); + int limit = 9; + foreach (UUID bad in bad_folders) + { + sb.Append(" "); + sb.Append(bad.ToString()); + if(--limit < 0) + break; + } + if(limit < 0) + sb.Append(" ..."); + m_log.Warn(osStringBuilderCache.GetStringAndRelease(sb)); } lastresponse.Append(""); @@ -390,7 +408,6 @@ namespace OpenSim.Capabilities.Handlers InventoryFolderBase containingFolder = m_InventoryService.GetFolder(freq.owner_id, freq.folder_id); if (containingFolder == null) { - m_log.WarnFormat("[WEB FETCH INV DESC HANDLER]: Unable to fetch folder {0}", freq.folder_id); bad_folders.Add(freq.folder_id); return true; }