question

Stan-2024 avatar image
0 Votes"
Stan-2024 asked Stan-2024 published

New version of Sharepoint integration Package (OAUTH 2 support) throttling issue 429

Hi,

I have downloaded the new revised version 10.19.33 - 4/Jun/2021 (great to see still some work), in the hopes that it would resolve the issue with Sharepoint online throttling requests to a frequently accessing user. But alas it looks like the issue still exists.

Sharepoint throttles requests based on user, and throws a 429 if you are being throttled, issue is the response header is supposed to contain the required delay to retry in, but I don't think the new IP honours that. So I'm still stuck with dumb logic to loop and retry if error contains 429. Not great as MS state they will delay you longer if you do not honour the delay. So me hitting it every 60 seconds will probably throttle me even more.

So far I'm seeing after around 200 requests with 20 parallel, our account starts to get throttled. Will there be any update to this IP to honour the delay automatically?
Or will I have to rewrite all the code in Powershell to now read the response header and wait the correct amount of time... Then to have to output all the data to the databus... pain.

Cheers
Stan

msc-orchestrator
· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

The remote server returned an error: (429).

Exception: WebException
Target site: HttpWebRequest.GetResponse

Stack trace:
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute()
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb)
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
at SystemCenter.IntegrationPack.SharePoint.Service.SharePointList.LoadFields()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at SystemCenter.IntegrationPack.SharePoint.Service.SharePointList.get_Fields()
at SystemCenter.IntegrationPack.SharePoint.Domain.GetListItemsHelper.Execute()
at SystemCenter.IntegrationPack.SharePoint.Activities.GetListItemsActivity.Execute(IExecuteContext context)
at SystemCenter.IntegrationPack.SharePoint.Activities.SharePointActivityBase.Execute(IActivityRequest request, IActivityResponse response)

0 Votes 0 ·

0 Answers