Forum Discussion

azruld's avatar
azruld
New Member
1 year ago
Solved

Concurrent PowerBI Semantic Model refresh fails when model owner is Service Principal

Hi all,

 

We have a very odd issue that has started since around 26th / 27th June. We have a number of workspaces where each workspace contains a semantic model. The semantic model's model is the same in each workspace but differs in data for client separation requirements.

 

Issue behaviour:

  • If semantic model is owned by a Service Principal:
    • If 2 or more refresh is triggered concurrently or very quickly one-after-another, all refreshes fails with error "Data source error: Retry attempts for failures while executing the refresh exceeded the retry limit set on the request." It always fail around the 1 min 50 sec mark.
    • If refresh is triggered sequentially (i.e. wait until the model 1 to complete refresh before triggering the next), all refreshes will be successful
    • This behaviour is regardless if refresh is trigger by user manually in app.powerbi.com, scheduled refresh or triggered via Enhanced API (through a Service Principal)
    • Note I enabled Detailed Logging on the OnPremise Data Gateway and there is no error and unlike other type of failures or success, I don't see any entries when the refresh fails - seems like the Data Gateway never received any request
    • Also, I tried splitting the refresh from full + Transactional to 3 separate API calls - ClearData is always successful but it always fail at DataOnly (and hence never reached the Calculate). This is even when specify to update one object; a small DimDate table.
  • If the semantic model is owned by a user account (like mine or an actual person and not a service principal):
    • Triggering even up to 10 concurrent refreshes will complete successfully
    • This behaviour is regardless if refresh is trigger by user manually in app.powerbi.com, scheduled refresh or triggered via Enhanced API (through a Service Principal)

Notes:

  • The semantic model is owned by Service Principal because we use a DevOps pipeline to deploy dashboard and semantic models to a large number of workspaces (the Deployment Pipeline in PowerBI does not allow concurrent deployment to multiple prods and has a limit of stages)
  • We use On-Premise Data Gateway to connect to Data Sources (SQL and ADLS G2 that is Private Endpoint only)

 

Question: Any idea why this would happen? Is there any particular licensing requirement or restriction when using Service Principal as owner of the Semantic Model?

  • Hi azruld ,

    The issue appears to be linked to recent changes in Power BI, particularly with how refreshes are managed when using a Service Principal (SPN). If multiple semantic models owned by a service principal are refreshed simultaneously, they all fail after about 1 minute and 50 seconds with a retry limit error. However, refreshing the models one at a time, or using a user account as the owner, allows them to succeed—even if triggered at the same time. Since there are no related entries in the On-Premises Data Gateway logs, this suggests the failure happens at the Power BI service layer before reaching the data source.

    This likely indicates a platform-level throttling or connection limit for service principals, especially when using the Enhanced Refresh API (API documentation). User accounts seem to have fewer restrictions. To prevent these errors, try triggering refreshes one after the other when using a service principal. Alternatively, distribute the refreshes across multiple service principals or assign ownership to a user account. Monitoring capacity and throttling with the Metrics App   is recommended for Premium or PPU capacity. For more information, refer to  Service Principal in Power BI – Limitations & Configuration and embed setup. If the problem persists, especially after a recent update, consider submitting a support case to Microsoft.


    Regards,
    Sreeteja

5 Replies

  • Hi azruld ,

    This issue seems related to recent changes or limitations affecting how Power BI handles semantic model refreshes owned by Service Principals, especially during concurrent refresh attempts.

     

    When the model is owned by a Service Principal, concurrent refreshes are hitting a restriction—possibly a new limitation introduced by Microsoft around late June 2025. Service Principals are treated differently than user accounts regarding resource allocation, throttling, or concurrency. That’s why refreshes owned by regular user accounts don’t have this issue, but those owned by Service Principals fail when run in parallel.

     

    Possible reasons and context:

    • Microsoft may have tightened security, resource, or throttling controls for Service Principals to prevent abuse, especially with programmatic API access.

    • There’s no specific licensing requirement for Service Principals regarding refresh concurrency, but Microsoft does enforce API and resource throttling limits that can differ for Service Principals vs. users.

    • The error and the timing (failing at ~1:50) suggest a back-end service timeout or resource lock, likely caused by concurrency limits.

    • The fact that the On-Premise Gateway doesn’t even see the request hints that the block happens before requests reach the gateway (likely within the Power BI Service or API layer).

    What you can do:

    • Check the Power BI REST API limits and throttling documentation, as they can change, and new restrictions for Service Principals may not be widely announced.

    • If possible, stagger your refreshes programmatically, or serialize them, as you’ve already noticed works.

    • Monitor the Microsoft Power BI support page or community forums for reports of similar recent issues—this could be a new bug or intentional change.

    • Raise a support ticket with Microsoft, referencing the timing and difference in behavior between Service Principal and user ownership, as this may need escalation if it’s a new or unintended limitation.

  • v-sshirivolu's avatar
    v-sshirivolu
    Community Support

    Hi azruld ,

    The issue appears to be linked to recent changes in Power BI, particularly with how refreshes are managed when using a Service Principal (SPN). If multiple semantic models owned by a service principal are refreshed simultaneously, they all fail after about 1 minute and 50 seconds with a retry limit error. However, refreshing the models one at a time, or using a user account as the owner, allows them to succeed—even if triggered at the same time. Since there are no related entries in the On-Premises Data Gateway logs, this suggests the failure happens at the Power BI service layer before reaching the data source.

    This likely indicates a platform-level throttling or connection limit for service principals, especially when using the Enhanced Refresh API (API documentation). User accounts seem to have fewer restrictions. To prevent these errors, try triggering refreshes one after the other when using a service principal. Alternatively, distribute the refreshes across multiple service principals or assign ownership to a user account. Monitoring capacity and throttling with the Metrics App   is recommended for Premium or PPU capacity. For more information, refer to  Service Principal in Power BI – Limitations & Configuration and embed setup. If the problem persists, especially after a recent update, consider submitting a support case to Microsoft.


    Regards,
    Sreeteja

    • v-sshirivolu's avatar
      v-sshirivolu
      Community Support

      Hi azruld ,

      I hope the information provided above assists you in resolving the issue. If you have any additional questions or concerns, please do not hesitate to contact us. We are here to support you and will be happy to help with any further assistance you may need.

       

      • v-sshirivolu's avatar
        v-sshirivolu
        Community Support

        Hi azruld ,

        I hope the above details help you fix the issue. If you still have any questions or need more help, feel free to reach out. We’re always here to support you