Duplicati stuck on Compact when Getting/Putting from OneDrive and results in missing files

Upload seems to do Retry-After OK, at least at the fragment level. In addition to the reporting above, regular (sometimes not turned on, but is hourly lately) OneDrive profiling log just asked a Retry-After which looks like it will be respected. This is on 2.0.7.2 Canary like the B2 backup that is my main one partly because it has space, but also because I pay by use, so it’s less likely to gripe use is too much.

2023-08-19 16:53:59 -04 - [Verbose-Duplicati.Library.Backend.MicrosoftGraphBackend-MicrosoftGraphFragmentUpload]: Uploading fragment 1/5 of remote file duplicati-b60f0c193cdc1415b947a7c0d0a910c34.dblock.zip.aes
2023-08-19 16:54:20 -04 - [Verbose-Duplicati.Library.Backend.MicrosoftGraphBackend-MicrosoftGraphFragmentUpload]: Uploading fragment 2/5 of remote file duplicati-b60f0c193cdc1415b947a7c0d0a910c34.dblock.zip.aes
2023-08-19 16:54:42 -04 - [Verbose-Duplicati.Library.Backend.MicrosoftGraphBackend-MicrosoftGraphFragmentUpload]: Uploading fragment 3/5 of remote file duplicati-b60f0c193cdc1415b947a7c0d0a910c34.dblock.zip.aes
2023-08-19 16:55:03 -04 - [Verbose-Duplicati.Library.Backend.MicrosoftGraphBackend-MicrosoftGraphFragmentUpload]: Uploading fragment 4/5 of remote file duplicati-b60f0c193cdc1415b947a7c0d0a910c34.dblock.zip.aes
2023-08-19 16:55:25 -04 - [Retry-Duplicati.Library.Backend.MicrosoftGraphBackend-MicrosoftGraphFragmentRetry]: Uploading fragment 4/5 of remote file duplicati-b60f0c193cdc1415b947a7c0d0a910c34.dblock.zip.aes failed and will be retried
Duplicati.Library.Backend.MicrosoftGraph.MicrosoftGraphException: 429: Too Many Requests error from request https://api.onedrive.com/rup/7dfee4690d9f4711/eyJSZXNvdXJjZUlEIjoiN0RGRUU0NjkwRDlGNDcxMSEzMDcwNyIsIlJlbGF0aW9uc2hpcE5hbWUiOiJkdXBsaWNhdGktYjYwZjBjMTkzY2RjMTQxNWI5NDdhN2MwZDBhOTEwYzM0LmRibG9jay56aXAuYWVzIn0/4mVlJc9u8E5j9a2UoVUNyPrdeBuGVoaQAfLZPXALG5c_5Mbu4OhMi7grPZsOHxrz05LMbx4yzRceQ1kAODYgBVY7_HgUz0wfDMxfxfCgkuDNc/eyJuYW1lIjoiZHVwbGljYXRpLWI2MGYwYzE5M2NkYzE0MTViOTQ3YTdjMGQwYTkxMGMzNC5kYmxvY2suemlwLmFlcyIsIkBuYW1lLmNvbmZsaWN0QmVoYXZpb3IiOiJyZXBsYWNlIn0/4wdV1Zz_-wuw5zeD4y3i2dQnl3FqdSR3-dy0V0mTLO5_85qVek2M0xpv5fOV4NxZGn5HBuzHPQdF-tnTbt-Vxj_-3ewAgWXgPdpZrL-uyDnWTmMs1FYxz7L4LCOomZL__l4ylHl-bsL-4_MjGgKfwP9uNEKL5aV9p8w8fYqLoBCFEMeNb9clr5PsOON84MOtEnncZTovcUS8OVQrFEdWspRi78PMOZWajAvBMJ15lEPsB7JgGeaj_lV2IImo2fkvqhDmuX51GmwqzmOGTSe8ORA-GU4Ex0490r5B6OD72Vg3h6WVGNXtahFvEQlDd0lRmTpu3ZnRmZr4YmgAwdKRz7J2a0QERmx5-fcrjX9y7h5SvGzRZoI8InJPuTf6Wrle6L_1F0yqoRfIXkadI3_vnpIkbDwcJdH60iLedLy9RBqB2KJIizfY3I0DoJFIU-h3rZrRL-D4XTS2lXkn989ydmVG7WOKmmYiAG6q7LqwgI3_mxOp0fgbqxlQHlaMv5f-pkB_wtMxkloh6-Gx-2-mj1QAt37Rn36mXaLvh7oqJME5GzuGY8VC_10GECU6-MRlqZ
Method: PUT, RequestUri: 'https://api.onedrive.com/rup/7dfee4690d9f4711/eyJSZXNvdXJjZUlEIjoiN0RGRUU0NjkwRDlGNDcxMSEzMDcwNyIsIlJlbGF0aW9uc2hpcE5hbWUiOiJkdXBsaWNhdGktYjYwZjBjMTkzY2RjMTQxNWI5NDdhN2MwZDBhOTEwYzM0LmRibG9jay56aXAuYWVzIn0/4mVlJc9u8E5j9a2UoVUNyPrdeBuGVoaQAfLZPXALG5c_5Mbu4OhMi7grPZsOHxrz05LMbx4yzRceQ1kAODYgBVY7_HgUz0wfDMxfxfCgkuDNc/eyJuYW1lIjoiZHVwbGljYXRpLWI2MGYwYzE5M2NkYzE0MTViOTQ3YTdjMGQwYTkxMGMzNC5kYmxvY2suemlwLmFlcyIsIkBuYW1lLmNvbmZsaWN0QmVoYXZpb3IiOiJyZXBsYWNlIn0/4wdV1Zz_-wuw5zeD4y3i2dQnl3FqdSR3-dy0V0mTLO5_85qVek2M0xpv5fOV4NxZGn5HBuzHPQdF-tnTbt-Vxj_-3ewAgWXgPdpZrL-uyDnWTmMs1FYxz7L4LCOomZL__l4ylHl-bsL-4_MjGgKfwP9uNEKL5aV9p8w8fYqLoBCFEMeNb9clr5PsOON84MOtEnncZTovcUS8OVQrFEdWspRi78PMOZWajAvBMJ15lEPsB7JgGeaj_lV2IImo2fkvqhDmuX51GmwqzmOGTSe8ORA-GU4Ex0490r5B6OD72Vg3h6WVGNXtahFvEQlDd0lRmTpu3ZnRmZr4YmgAwdKRz7J2a0QERmx5-fcrjX9y7h5SvGzRZoI8InJPuTf6Wrle6L_1F0yqoRfIXkadI3_vnpIkbDwcJdH60iLedLy9RBqB2KJIizfY3I0DoJFIU-h3rZrRL-D4XTS2lXkn989ydmVG7WOKmmYiAG6q7LqwgI3_mxOp0fgbqxlQHlaMv5f-pkB_wtMxkloh6-Gx-2-mj1QAt37Rn36mXaLvh7oqJME5GzuGY8VC_10GECU6-MRlqZ', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  User-Agent: Duplicati/2.0.7.2
  Content-Length: 10437213
  Content-Range: bytes 41943040-52380252/52380253
}
StatusCode: 429, ReasonPhrase: 'Too Many Requests', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Retry-After: 30645
  X-MSNSERVER: DS1PPF115BFC7FF
  Strict-Transport-Security: max-age=31536000; includeSubDomains
  MS-CV: eVEzDxSCcUGzLy0hRjlLWA.0
  X-QosStats: {"ApiId":0,"ResultType":2,"SourcePropertyId":0,"TargetPropertyId":42}
  X-ThrowSite: 5127.da16
  X-AsmVersion: UNKNOWN; 19.1225.808.2003
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 517FCF9A282B4F4F9C168B8E5F57E71F Ref B: BL2AA2030110009 Ref C: 2023-08-19T20:55:04Z
  Date: Sat, 19 Aug 2023 20:55:25 GMT
  P3P: CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo"
  Content-Length: 269
  Content-Type: application/json; charset=utf-8
}
{
  "error": {
    "code": "accessDenied",
    "message": "Too Many Requests",
    "localizedMessage": "This item might have been deleted, expired, or you might not have permission to access it. Contact the owner of this item for more information.",
    "innererror": {
      "code": "throttledRequest"
    }
  }
}
   at Duplicati.Library.Backend.MicrosoftGraphBackend.CheckResponse(HttpResponseMessage response)
   at Duplicati.Library.Backend.MicrosoftGraphBackend.ParseResponse[T](HttpResponseMessage response)
   at Duplicati.Library.Backend.MicrosoftGraphBackend.<PutAsync>d__60.MoveNext()
2023-08-19 16:55:25 -04 - [Profiling-Duplicati.Library.RetryAfterHelper-RetryAfterWait]: Waiting for 08:30:44.5438455 to respect Retry-After header

Also see:

OneDrive Throttling which had an example of throttling. It’s rather rare that we see the profiling logs.

Microsoft banned me for using Duplicati on Onedrive is worrisome, but might have been from space.
Regardless, I’ll see what happens to my backup that actually paused, and I don’t seem banned - yet.