Update-MgAdminSharepointSetting: Too many retries performed. More than 3 retries

オープン
#3,099 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
csharp, powershell
領域
api

調査の方向性

デバッグ出力に示されている RetryHandler のスタックトレースと AdminSharepointUpdateSetting の呼び出しパスから始めます。提供された PATCH リクエストと cmdlet の例を SharePoint 設定ドメインリストで再現し、その後タイムアウトとリトライの動作を比較します。報告されたリトライ失敗なしでリストの更新が完了すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

feedback Service issue
Describe the bug

I am trying to update Sharepoint Tenant settings using either on of the following cmdlets:

Getting the same issue with:
$Uri = "https://graph.microsoft.com/v1.0/admin/sharepoint/settings"
Invoke-MgGraphRequest -Uri $Uri -Method Patch -Body $updateBody

but also with:
Update-MgAdminSharepointSetting -SharingAllowedDomainList $allowedDomains
Update-MgAdminSharepointSetting_UpdateExpanded: Too many retries performed. More than 3 retries encountered while sending the request. (HTTP request failed with status code: GatewayTimeout.▼♦
T�1♫�0♀@ѻx���MH��☺�ؠ
HEZ�P��0������65H+�I¶↕��N�z�f♥☼�g��♠�Z��$� ��,y���?Q�(&k�@��K�♣G�♦Y�►Y∟F-↓����3�%�B��g;��r▼�.��♠!V▲∟v�#:>(�‼�D.ž}(♫�m��♥H���) (HTTP request failed with status code: GatewayTimeout.▼♦
T�1♫�0♀@ѻx���4M��☺�Ġ
HEZ�P��(0������:W�9+D8�[�����↔<tY��♠t0���w�♠Y��ɐCCh�l$��BU�/]V�2D��→�F�^t��.♥�!dd▲%���]3�>iY�&b�∟,R2��▲��<��1H�F↕���▼��♥��↨��) (HTTP request failed with status code: GatewayTimeout.▼♦
T�1♫�0♀@ѻx�%7nK��☺\Ǡ
HEZ�P��0������:UH+�↕�˭L�r�f☼�g��♫�R��$��eٻ'�!y$>yNL�"8��|ټ��!☺w↕%�▲E��-��►.◄)�5M eUp���ʂ⌂�����♀Y���႑��h�RC∟�♀�m���♥ʭ�S�) (HTTP request failed with status code: GatewayTimeout.▼♦
T�9♫�0►@ѻL��+�{n�2F◄'�"��◄P����☺�1☼��2D8�k�_���☻�,��☺►0���'q���OW�,�B�'���h↑�x��T!☻9%����x�FꂹI���b��e[(����⌂+�F��C�أ�Abn-aR�Qac�☼����♥gс|�)

I've tried reinstalling Microsoft.Graph modules, attempted in both Poweshell 5+ and 7+ as well.
Same things happens if script is run in Azure Automation runbook.

Microsoft.Graph version 2.25 and 2.24 same issue

Image

Expected behavior

Expected behavior should be long running time ( 1200+ domains ) but then list updated, no error

How to reproduce
  1. Connect-MgGraph -TenantId $TenantId -ClientSecretCredential $Global:ClientCredentials
  2. $Uri = "https://graph.microsoft.com/v1.0/admin/sharepoint/settings"
  3. $SPOSettings = Invoke-MgGraphRequest -Uri $Uri -Method Get
  4. $allowedDomains = $SPOSettings.sharingAllowedDomainList
  5. $allowedDomains+="contoso.com"
  6. $updateBody = @{
    sharingAllowedDomainList = $allowedDomains
    }
  7. Invoke-MgGraphRequest -Uri $Uri -Method Patch -Body $updateBody

or

  1. Connect-MgGraph -TenantId $TenantId -ClientSecretCredential $Global:ClientCredentials
  2. $SPOSettings = Get-MgAdminSharepointSetting
  3. $allowedDomains = $SPOSettings.sharingAllowedDomainList
  4. $allowedDomains+="contoso.com"
  5. Update-MgAdminSharepointSetting -SharingAllowedDomainList $allowedDomains -Debug

or

Either one of the above in Azure Automation runbook Powershell version 7.2

SDK Version

2.25.0,2.24.0,Beta

Latest version known to work for scenario above?

No response

Known Workarounds

no workaround with Microsoft Graph
issue persists with Microsoft.Graph.Beta.Sites

This is not reliable at all, even with Retry-After 240, it errors out, although it adds the domains.

Image

Same error with 600 Retry-After:

Image

Debug output
Click to expand log ```

DEBUG: [CmdletBeginProcessing]: - Update-MgAdminSharepointSetting begin processing with parameterSet 'UpdateExpanded'.
DEBUG: [Authentication]: - AuthType: 'AppOnly', TokenCredentialType: 'ClientSecret', ContextScope: 'Process', AppName: 'ExternalDomainWhitelisting-Automation-26664'.
DEBUG: [Authentication]: - Scopes: [SharePointTenantSettings.ReadWrite.All, Policy.Read.All].

Confirm
Are you sure you want to perform this action?
Performing the operation "Update-MgAdminSharepointSetting_UpdateExpanded" on target "Call remote 'PATCH
/admin/sharepoint/settings' operation".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
DEBUG: [CmdletException]: Received exception with message 'AggregateException - Too many retries performed. More than 3 retries encountered while sending the request. (HTTP request failed with status code: GatewayTimeout.▼♦
T�K♫�0►��̺���☺�{o��c0D-�\►�nЕ��˿��♦��[����� ▲�,�z(�j����A���5i����Y�l ☻♣M�/YV�
♦�l<�L�s↕��/�됽�E��{�AA�ORW�[m�E�f@�FF�c��d��↑72��7�����♥�♂p��) (HTTP request failed with status code: GatewayTimeout.♦�rZ�N�<ZB�g��.2���ϗ.+N↓"�4��♠���zt�g¶�♫��♀6p�^��x�����z� NI�♥��T�♂u♥:�♣ŕ�R�♠K∟�
���☺��♥�jSD�) (HTTP request failed with status code: GatewayTimeout.▼♦
T�A♫� ►@ѻ̚I�)
콁▲��4*���Eӻ����⌂�+H�S��B��@�K����N߬�!���↔@�ؚ���§ �셂�8�♥��♥pה]�) (HTTP request failed with status code: GatewayTimeout.▼♦
T�A♫�0►@ѻ̚IJۡC��@☼P:�!j�♣�pw��������:W�Y¶"\ʭ��r��♠▲�,�z40���'q♥I�ѭ��Ƣqg뢣H-4P���e�I ��ɉY1�c��►�↑A&����◄34�§��<dV
☺S�♣���gjQT�↑�q��þ�▼��♥p�}��) : at Microsoft.Kiota.Http.HttpClientLibrary.Middleware.RetryHandler.SendRetryAsync(HttpResponseMessage response, RetryHandlerOption retryOption, CancellationToken cancellationToken, ActivitySource activitySource)
at Microsoft.Kiota.Http.HttpClientLibrary.Middleware.RetryHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.Kiota.Http.HttpClientLibrary.Middleware.CompressionHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.Graph.PowerShell.Authentication.Handlers.AuthenticationHandler.SendAsync(HttpRequestMessage httpRequestMessage, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Microsoft.Graph.PowerShell.Sites.AdminSharepointUpdateSetting_Call(HttpRequestMessage request, Func3 on2Xx, Func3 onDefault, IEventListener eventListener, ISendAsync sender)
at Microsoft.Graph.PowerShell.Sites.AdminSharepointUpdateSetting_Call(HttpRequestMessage request, Func3 on2Xx, Func3 onDefault, IEventListener eventListener, ISendAsync sender)
at Microsoft.Graph.PowerShell.Sites.AdminSharepointUpdateSetting(IDictionary headers, IMicrosoftGraphSharepointSettings body, Func3 on2Xx, Func3 onDefault, IEventListener eventListener, ISendAsync sender)
at Microsoft.Graph.PowerShell.Cmdlets.UpdateMgAdminSharepointSetting_UpdateExpanded.ProcessRecordAsync()'
Update-MgAdminSharepointSetting_UpdateExpanded: Too many retries performed. More than 3 retries encountered while sending the request. (HTTP request failed with status code: GatewayTimeout.▼♦
T�K♫�0►��̺���☺�{o��c0D-�\►�nЕ��˿��♦��[����� ▲�,�z(�j����A���5i����Y�l ☻♣M�/YV�
♦�l<�L�s↕��/�됽�E��{�AA�ORW�[m�E�f@�FF�c��d��↑72��7�����♥�♂p��) (HTTP request failed with status code: GatewayTimeout.♦�T�1♫�0♀@ѻx���N�8;7�♥D��* §i◄Cջ������♠��� n0�Y!¥�����o6��eI�♥��T����rZ�N�<ZB�g��.2���ϗ.+N↓"�4��♠���zt�g¶�♫��♀6p�^��x�����z� N ♂u♥:�♣ŕ�R�♠K∟�
���☺��♥�jSD�) (HTTP request failed with status code: GatewayTimeout.▼♦
T�A♫� ►@ѻ̚I�)
콁▲��4*���Eӻ����⌂�+H�S��B��@�K����N߬�!���↔@�ؚ���§ /{��:�▬5�-ErQP����y��@♦�&��♥�T☻♫�;�s��.I�♂�4(��Qڂ⌂k���,§3��♥�#r�셂�8�♥��♥pה]�) (HTTP request failed with status code: GatewayTimeout.▼♦
T�A♫�0►@ѻ̚IJۡC��@☼P:�!j�♣�pw��������:W�Y¶"\ʭ��r��♠▲�,�z40���'q♥I�ѭ��Ƣqg뢣H-4P���e�I ��ɉY1�c��►�↑A&����◄34�§��<dV
☺S�♣���gjQT�↑�q��þ�▼��♥p�}��)
DEBUG: [CmdletEndProcessing]: - Update-MgAdminSharepointSetting end processing.

Confirm
Continue with this operation?
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Y"): y
DEBUG: [CmdletException]: Received exception with message 'AggregateException - Too many retries
performed. More than 3 retries encountered while sending the request. : at
Microsoft.Kiota.Http.HttpClientLibrary.Middleware.RetryHandler.d__8.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 Microsoft.Kiota.Http.HttpClientLibrary.Middleware.RetryHandler.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 Microsoft.Kiota.Http.HttpClientLibrary.Middleware.CompressionHandler.d__1.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
Microsoft.Graph.PowerShell.Authentication.Handlers.AuthenticationHandler.d__12.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 Microsoft.Graph.Beta.PowerShell.Sites.<AdminSharepointUpdateSetting_Call>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Graph.Beta.PowerShell.Sites.<AdminSharepointUpdateSetting_Call>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 Microsoft.Graph.Beta.PowerShell.Sites.d__16.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
Microsoft.Graph.Beta.PowerShell.Cmdlets.UpdateMgBetaAdminSharepointSetting_UpdateExpanded.d__148.MoveNext()'

Confirm
Continue with this operation?
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Y"): y

Confirm
Too many retries performed. More than 3 retries encountered while sending the request.
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Y"): y
Update-MgBetaAdminSharepointSetting : Too many retries performed. More than 3 retries encountered while
sending the request.
At line:1 char:1

  • Update-MgBetaAdminSharepointSetting -SharingAllowedDomainList $allowe ...
  •   + CategoryInfo          : NotSpecified: (:) [Update-MgBetaAd..._UpdateExpanded], AggregateException
      + FullyQualifiedErrorId : Microsoft.Graph.Beta.PowerShell.Cmdlets.UpdateMgBetaAdminSharepointSetting_
     UpdateExpanded
    
    

DEBUG: [CmdletEndProcessing]: - Update-MgBetaAdminSharepointSetting end processing.

Confirm
Continue with this operation?
[Y] Yes [A] Yes to All [H] Halt Command [S] Suspend [?] Help (default is "Y"): y
PS C:\Users\laszl>

</details>


### Configuration

- OS: Windows 10
- Powershell 5.1
- Powershell 7.4.6

or 

- Azure Automation
- PowerShell 7.2

### Other information

_No response_
主要言語
C#
スター
898
フォーク
230
平均マージ
2日 5時間
マージ済み PR(30日)
31

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoftgraph/msgraph-sdk-powershell のほかの issue

microsoftgraph/msgraph-sdk-powershell の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。