Comments (21)
please use the latest version and report back
from recurring-integrations-scheduler.
Hey Tomek,
Thanks for the quick response.
Dynamics 365FO
Installed platform version : Update15 (7.0.4841.35259)
RIS Version 2.3.0.0
Ive installed the latest version but randomly getting the following error for export jobs. This is happening for 7 different jobs thats using different data entities. Same error for all jobs.
Quartz.Core.JobRunShell - Job Export jobs. threw a JobExecutionException:
Parameters: refire = False, unscheduleFiringTrigger = False, unscheduleAllTriggers = False
Quartz.JobExecutionException: Export job: Export jobs. failed ---> System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()
--- End of inner exception stack trace ---
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Quartz.Core.JobRunShell.d__9.MoveNext() [See nested exception: System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()]
from recurring-integrations-scheduler.
Can you try to delete and schedule one of the job from scratch?
from recurring-integrations-scheduler.
Ive created new data projects on Dynamics and new jobs on the RIS but still getting the same error
Quartz.Core.JobRunShell - Job Export jobs.CustomerExportINTAU_CS threw a JobExecutionException:
Parameters: refire = False, unscheduleFiringTrigger = False, unscheduleAllTriggers = False
Quartz.JobExecutionException: Export job: Export jobs.CustomerExportINTAU_CS failed ---> System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()
--- End of inner exception stack trace ---
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Quartz.Core.JobRunShell.d__9.MoveNext() [See nested exception: System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()]
Thanks for your inputs
from recurring-integrations-scheduler.
Please add section below in RecurringIntegrationsScheduler.exe.config file
after line </configSections>
Then start Standalone scheduler and schedule one export job. Wait for it to fail and shut down RIS.
Find file network.log that should be present in RIS main folder. Send it to me directly [email protected]
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Http">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.WebSockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Cache" value="Verbose"/>
<add name="System.Net.Http" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
<add name="System.Net.WebSockets" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log"
/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
from recurring-integrations-scheduler.
Ive done a test using download job and not the export job.
When I use the download job I dont get the same error as when im using the export job.
from recurring-integrations-scheduler.
I am trying to repro that error.
Could you guys tell me what data entities you are using? what is the volume of exported data?
Looks like this happens on GetExecutionSummaryStatus request, but I need to define more precise conditions.
from recurring-integrations-scheduler.
Hi Melissa ,
my observations below , will keep you posted if i have more pointers
-
all the entities we are using are custom,
-
the data entities are incremental, so most of the times the files that come out are 1 Kb , meaning no records.
-
the job frequency is about 10-15 minutes
-
i actually thought this occurs due to the status check interval, when it tries to see if the job went through , i tried playing with the values there
e,g
status check interval -- if i set this to 500 i,e 5 mins, the job runs for 5 mins no matter what,
meaning the time from Blocked to Normal is 5 mins
status check interval -- if i set this 180 , 3 mins m then the job runs for 3 mins
it seems that this value actually drive how long the job runs, is this correct?? -
i got a similar error , when i scheduled a export job, and put in a data project which no longer existed , not sure if this helps
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Quartz.Core.JobRunShell.d__9.MoveNext() [See nested exception: System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__17.MoveNext()
from recurring-integrations-scheduler.
Check v.2.4.0 It should fix this
from recurring-integrations-scheduler.
Thank you Tomek for the quick response, i will install this version
from recurring-integrations-scheduler.
Hi Tomek,
I installed the latest version v.2.4.0 and created export jobs with he below parameters
Recurrence: 10 mins
Status Check Interval: 120 sec
Retry policy 1:
Delay:60
Pause job when error occurs: yes
For some reason the jobs goes into a blocking state but does not release the blocking at all. It worked fine for a few hours where it went from Normal > Blocking > Normal but now its stuck in blocking.
Its been in a blocked state now for 12 hours.
Ive deleted the jobs and created them again and the same happened.
Any help would be appreciated.
from recurring-integrations-scheduler.
run it with debug mode enabled in config. Then check logs. I guess it is problem with status message again. Seems like D365 does not reliably responds with it. For few previous version the first request with ExportToPackage was actually synchronous, and then first check for status of export always responded with "Succeded". Now it is finally asynchronous operation, but sometimes all you get from D365 is "Bad request" after query about status of export job.
I decided to try 1000 times before I break the loop of status query. So 1000*2 minutes is actually over 33 hours... and all you get is bad request response probably. Need to think how to workaround this, but the main problem is reliability of D365 response...
Debug mode and logs should be able to verify this.
from recurring-integrations-scheduler.
This is code snippet responsible for this
do
{
attempt++;
if(attempt != 1)
System.Threading.Thread.Sleep(_settings.Interval);
executionStatus = await _httpClientHelper.GetExecutionSummaryStatus(executionId);
if (Log.IsDebugEnabled)
Log.Debug(string.Format(Resources.Job_0_Checking_if_export_is_completed_Try_1_Status_2, _context.JobDetail.Key, attempt, executionStatus));
if (attempt == 1000)
break;
}
while ((executionStatus == "NotRun" || executionStatus == "Executing" || executionStatus == "Bad request"));
You could argue that I should not include "Bad request" in the condition, but I saw cases when this kind of response was only random and the next request returned proper status. In your case, I guess it is permanent. Try to use 5 seconds interval. In worst scenario it will only block your job for ca. 1h 30m.
from recurring-integrations-scheduler.
Please send me environment IDs of instances where you are facing this issue. Send it by email please.
from recurring-integrations-scheduler.
Hi Tomek
any more update on this, we have started hitting this issue more frequently,sometimes it would be an hour before a successful export ,
Regards
from recurring-integrations-scheduler.
See previous comment.
from recurring-integrations-scheduler.
thanks Tomek, totally skipped the previous comment,
from recurring-integrations-scheduler.
hi Tomek,
an update on this , we had MS change the flag to sync instead of async, as you had mentioned.
past 24 hours hardly any job failure due to the above issue
there another error, that i havent seen before that popped up
does the following error mean, that the dowload failed
Quartz.Core.JobRunShell - Job Export.TestExport schedule threw a JobExecutionException: Parameters: refire = False, unscheduleFiringTrigger = False, unscheduleAllTriggers = False Quartz.JobExecutionException: Export job: Export.11 Delivery schedule failed ---> System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.Policy.<>c__DisplayClass208_01.<<ExecuteAsyncInternal>b__0>d.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.RetrySyntaxAsync.<>c__DisplayClass21_1.<<WaitAndRetryAsync>b__1>d.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.Retry.RetryEngine.<ImplementationAsync>d__1 1.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Polly.Retry.RetryEngine.d__11.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.Policy.<ExecuteAsyncInternal>d__208 1.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__10.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__23.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext() --- End of inner exception stack trace --- at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Quartz.Core.JobRunShell.d__9.MoveNext() [See nested exception: System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.Policy.<>c__DisplayClass208_01.<<ExecuteAsyncInternal>b__0>d.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.RetrySyntaxAsync.<>c__DisplayClass21_1.<<WaitAndRetryAsync>b__1>d.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.Retry.RetryEngine.<ImplementationAsync>d__1 1.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Polly.Retry.RetryEngine.d__11.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Polly.Policy.<ExecuteAsyncInternal>d__208 1.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__10.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__23.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()]ReplyForward |
ReplyForward | |||
---|---|---|---|---|
ReplyForward |
from recurring-integrations-scheduler.
Is this reproducible error? What are the conditions? Looks like an error after few retries handled by Polly, but I cannot figure out what exactly is going on from this alone.
from recurring-integrations-scheduler.
it started occuring one of the export job, after MS switched the exporttopackage call to sync,
the project executes okay in D365, and then RIS logs this error exactly an hour later, the job starts at 2 :00 am and this error is logged at 3:00am
from recurring-integrations-scheduler.
Looks like you are trying to export a lot of data and 1 hour timeout of HttpClient set in RIS is just not enough. You can increase it, but I would suggest to first evaluate why it is taking so long.
Lines 52-55 in HttpClientHelper.cs
_httpClient = new HttpClient(httpClientHandler)
{
Timeout = TimeSpan.FromMinutes(60) //Timeout for large uploads or downloads
};
from recurring-integrations-scheduler.
Related Issues (20)
- Setting message status to ProcessedWithErrors because there is no corresponding ExecutionID HOT 1
- Files Missing in the download jobs Executed thro RIS tool
- Possibility to validate the connection event with the AADSTS7000215 error HOT 2
- Execute button for a job HOT 1
- All settings disappear in Recurring Integrations Scheduler when server is restarted HOT 1
- Duplicate a job
- Scheduled Jobs Disappeared
- Replace ADAL to MSAL HOT 3
- RIS does not connect with D365 HOT 1
- Download jobs from version 3.5.0.0 does not work with F&O 10.0.29 HOT 8
- No logs on Event Viewer when Azure App Secret is expired ?
- The Description for Event ID 0 cannot be found
- Clarification on the note about the data jobs HOT 2
- Export CustomersV3 data entity: there aren't files in the download folder.
- GetExecutionSummaryStatus not working due to special ASCII characters in message ID
- This repo is missing important files HOT 1
- Unable to import data package
- Zero Export Job Event for Recurring Integrations Scheduler App in event viewer
- Export Job, Get paused with the exception:System.NullReferenceException: Object reference not set to an instance of an object. HOT 1
- Auto start RIS after system reboot
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from recurring-integrations-scheduler.