Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.

Issues with auto-scaling PowerBIEmbedded A-SKU via Azure automation account

We've made some modifications to ScaleUp-Automation-RunBook.ps1 in order to scale-up and scale-down our PowerBI embedded A SKU capacities in response to Alert metrics based on CPU utilization (i.e. scale up during high utilization and scale back down during less utilization). 

This requires calls being made to Update-AzPowerBIEmbeddedCapacity. We've been experiencing intermittant issues using this PowerShell cmdlet. Something on the service side is causing it to run to failure, but not update the capacity's SKU size, and leaves it in a "Paused" state.

 

Specifically, the error is the following:

Update-AzPowerBIEmbeddedCapacity : Long running operation failed with status 'Failed'. Additional Info:'InScaleTransition_Provisioning server timed out originally. The service is updated during garbage collector cleanup.' At line:46 char:2 + Update-AzPowerBIEmbeddedCapacity -ResourceGroupName $ResourceGrou ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Update-AzPowerBIEmbeddedCapacity], CloudException + FullyQualifiedErrorId : Microsoft.Azure.Commands.PowerBI.UpdateAzurePowerBIEmbeddedCapacity

 

I've included try/catch/finally logic to anticipate this call failing, but it seems that the service isn't left in the "Paused" state until after the automation account Runbook has completed it's execution. My "finally" block checks the state of the capacity and resumes if it is paused.

Does the bold/underlined part of the error message indicate that I need to manually force garbage collection before the capacity enters the paused state?

Status: Investigating

Hi @tomph,

 

For something related to scale your Power BI Embedded capacity in the Azure portal, you could have a look at this official document:  Scale your Power BI Embedded capacity - Power BI | Microsoft Docs.

For your issue, I think you could consider try/catch a timeout exception. If the operation is long running, then throws the exception.

 

In addition, please read these official documents as well.

https://docs.microsoft.com/power-bi/developer/embedded/monitor-power-bi-embedded-reference

https://docs.microsoft.com/azure/automation/automation-create-standalone-account

https://docs.microsoft.com/azure/automation/create-run-as-account

https://docs.microsoft.com/azure/azure-monitor/alerts/alerts-overview

 

Best Regards,

Community Support Team _ Caiyun

Comments
v-cazheng-msft
Community Support
Status changed to: Investigating

Hi @tomph,

 

For something related to scale your Power BI Embedded capacity in the Azure portal, you could have a look at this official document:  Scale your Power BI Embedded capacity - Power BI | Microsoft Docs.

For your issue, I think you could consider try/catch a timeout exception. If the operation is long running, then throws the exception.

 

In addition, please read these official documents as well.

https://docs.microsoft.com/power-bi/developer/embedded/monitor-power-bi-embedded-reference

https://docs.microsoft.com/azure/automation/automation-create-standalone-account

https://docs.microsoft.com/azure/automation/create-run-as-account

https://docs.microsoft.com/azure/azure-monitor/alerts/alerts-overview

 

Best Regards,

Community Support Team _ Caiyun

tomph
Regular Visitor

@v-cazheng-msft Thanks for your response and providing documentation.

 

I've already included try/catch blocks for the operation. The issue is that the capacity state does not get updated until sometime after the process completes. I check for the "Paused" state in my catch block, but the capacity does not pause until after the Runbook completes. That's why I'm wondering about the error messaging mentioning garbage collection, and if I should try explicitly calling GC in order to reflect the actual "Paused" state. 

 

I can't reproduce the Azure service outage, so I'm unsure how to handle the error.