Browse Source

Merge pull request #14077 from wangkx/h24568

HPCC-24568 Catch/log exception when cluster has no scheduler

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Merged-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday 4 years ago
parent
commit
74b9a569ae
1 changed files with 14 additions and 1 deletions
  1. 14 1
      esp/services/ws_workunits/ws_workunitsService.cpp

+ 14 - 1
esp/services/ws_workunits/ws_workunitsService.cpp

@@ -3632,7 +3632,20 @@ void getScheduledWUs(IEspContext &context, WUShowScheduledFilters *filters, cons
     if (notEmpty(serverName))
     {
         Owned<IWorkUnitFactory> factory = getWorkUnitFactory(context.querySecManager(), context.queryUser());
-        Owned<IScheduleReader> reader = getScheduleReader(serverName, filters->eventName);
+        Owned<IScheduleReader> reader;
+        try
+        {
+            reader.setown(getScheduleReader(serverName, filters->eventName));
+        }
+        catch (IException *e)
+        {
+            StringBuffer eMsg;
+            e->errorMessage(eMsg);
+            e->Release();
+            IWARNLOG("Failed to getScheduleReader for %s: %s", serverName, eMsg.str());
+            return;
+        }
+
         Owned<IScheduleReaderIterator> it(reader->getIterator());
         while(it->isValidEventName())
         {