Get Inspire insights from former attendees in our AMA discussion thread on Inspire Buzz. ACEs and other community members are on call all week to answer!

Alteryx Server Knowledge Base

Definitive answers from Server experts.

DE33912/TGAL-2885: Schedule Forecast Page Stuck in Loading

SophiaF
Alteryx
Alteryx
Created
  • Alteryx Server
    • Version 2021.1, 2021.2

 

From the Gallery Admin view, the Schedule Forecast page does not load and is stuck on "Loading forecast data".

 


Diagnosis


To confirm that you are facing this specific defect, search for this error in your Gallery logs .

Sequence contains no elements



Full error message

 

2021-06-28 18:14:55.096408,ERROR,12,ErrorHandler,HandleError,dxxx2,6xxx1,127.0.0.1,MACHINE1,Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0,GET,/gallery/api/scheduler/forecast/,500,9543,Exception caught by ErrorHandler and marshaled to client,"System.InvalidOperationException: Sequence contains no elements->   at System.Linq.Enumerable.Average(IEnumerable`1 source)->   at Alteryx.Server.Models.Presenters.SchedulerPresenter.GetScheduleForecast(DateTime startDate, DateTime endDate)->   at Alteryx.Server.Models.Presenters.SchedulerPresenter.GetScheduleForecastSummary(DateTime startDate, DateTime endDate, Int32 timeSlotSize)->   at Alteryx.Server.Api.Services.SchedulerService.GetScheduleForecast(DateTime startDate, DateTime endDate, Int32 timeSlotSize)->   at SyncInvokeGetScheduleForecast(Object , Object[] , Object[] )->   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)->   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)->   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)->   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)->   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)"


Product defect DE33912/TGAL-2885.

 

This issue occurs when this page is unable to find past workflow runs for scheduled jobs.

These historical runs are typically missing if your instance has the Persistence Options in Alteryx System Settings (Controller > Persistence > Persistence Options) for "Delete Queue and Results after" enabled. However, end-users do have the ability to delete workflow results from the Gallery on the Workflow Results page as well.

 

For example:

 

  • You have a schedule that is set to run yearly on January 1.
  • You have the Server "Delete Queue and Results" option set to 60 days.
  • You attempt to load the Schedule Forecast page on June 1st. Since it has been longer than 60 days since this job last ran, the results for that job are "missing" and this causes the page to not load.


This defect has been fixed starting from Server version 2021.3. Upgrading to version 2021.3 or newer should resolve the issue.

 

Potential Workarounds

 

 

Disable the Impacted Schedule


You can use the Gallery logs to identify the Schedule that is causing this issue with the following:

  1. Search in the Gallery logs for:
Sequence contains no elements
  1. Find the line immediately before this that contains a DEBUG message and "GetJobsByAppServiceId". For example: appServiceId value is what you want to use below.
  2. Using Robo3T (see this article for how to set this up), query AlteryxService.AS_Schedules to find the schedule associated with that appServiceId:
db.getCollection("AS_Schedules").find({"AS_Application__ID" :"5xxxxxxx"})
  1. The field LC_ScheduleName identifies the name of the schedule.
  2. You now have the schedule identified that needs to be disabled. You have the following two options:
    1. Have the Gallery Admin disable them: In Gallery Admin > Jobs > Scheduled Workflows
    2. Ask the schedule owner to disable the workflow
  3. Once disabled, attempt to load the Schedule Forecast page again. If the page is still stuck in loading after some time, start again with Step 1 and continue to identify the offending schedule until the page loads. This will be an iterative process.
 

Manually run the Workflow from the Gallery


Alternatively, you can run a job manually for that workflow, which will create a job run and this process will be able to find it. This is considered a workaround, but not an ideal one.

Comments
ianwhite
Alteryx Alumni (Retired)

removed