cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
JulesE Frequent Visitor
Frequent Visitor

PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

I have setup 2 PowerBI Report Servers in an scale-out deployment with an NLB (https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-report-server-on-a...)

When opening the load balancer URL i can login, create folders, assign permissions. But when i try to open a powerbi report or try to upload a report an error occured.

PortalErrorMessage.png

In the RSPortal.log i find the following error:

 

2019-09-25 17:52:47.1644|ERROR|41|The remote server returned an error: (400) Bad Request.| RequestID = s_c1a68a9f-38c0-4e89-ab27-045f4ca39fbe

 

I'm using Microsoft Power BI Report Server - May 2019.

 

When creating a report with PowerBI Desktop for Reporting Services (also May 2019 version) and try to save that report on the report server the following error message appears:

PowerBI Desktop Error.png

Would be glad if anyone can help.

 

Thanks,

 

JE

 

1 ACCEPTED SOLUTION

Accepted Solutions
MariusD Visitor
Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

Hi,

 

have you also configured the ReportServerURL in the rsreportserver.config file? It should be similar to this: <ReportServerUrl>https://{node FQDN}/ReportServer</ReportServerUrl>. Replace {node FQDN} with the fully qualified domain name of the node, on each of the nodes.

 

Regards,

Marius

View solution in original post

12 REPLIES 12
JulesE Frequent Visitor
Frequent Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

When i remove the load balancer configuration i can open and upload reports with no errors.

I used the PowerBI Report Server may release:

PowerBIReportServerVerison.png


@JulesE wrote:

I have setup 2 PowerBI Report Servers in an scale-out deployment with an NLB (https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-report-server-on-a...)

When opening the load balancer URL i can login, create folders, assign permissions. But when i try to open a powerbi report or try to upload a report an error occured. In the RSPortal.log i find the following error:

 

2019-09-25 12:14:38.6642|ERROR|6|OData exception occurred: System.Net.WebException: The remote server returned an error: (400) Bad Request.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.ReportingServices.Portal.ODataWebApi.Utils.PbixReportHelper.ShouldReShred(PowerBIReport entity, Uri basePortalUrl, ILogger logger, IPrincipal userPrincipal, String reportServerHostName)
at Microsoft.ReportingServices.Portal.ODataWebApi.Common.CatalogItemControllerHelper`1.GetItem(String key)
at Microsoft.ReportingServices.Portal.ODataWebApi.V2.Controllers.CatalogItemsController.GetEntity(String key, String castName)
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.Reflection.EntitySetReflectionODataController`1.GetRoot(ODataPath oDataPath, Int32& index)
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.Reflection.ReflectionODataController`1.Get(ODataPath oDataPath)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- 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 System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.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 System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.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 System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.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 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.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 System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext().| RequestID = s_283c6c52-ba29-4b6b-b0da-263596ff319c

 

Would be glad if anyone can help.

 

Thanks,

 

JE

 


 

JulesE Frequent Visitor
Frequent Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

Without NLB configuration everything works fine.

I used the may release:

PowerBIReportServerVerison.png


@JulesE wrote:

I have setup 2 PowerBI Report Servers in an scale-out deployment with an NLB (https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-report-server-on-a...)

When opening the load balancer URL i can login, create folders, assign permissions. But when i try to open a powerbi report or try to upload a report an error occured. In the RSPortal.log i find the following error:

 

2019-09-25 12:14:38.6642|ERROR|6|OData exception occurred: System.Net.WebException: The remote server returned an error: (400) Bad Request.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.ReportingServices.Portal.ODataWebApi.Utils.PbixReportHelper.ShouldReShred(PowerBIReport entity, Uri basePortalUrl, ILogger logger, IPrincipal userPrincipal, String reportServerHostName)
at Microsoft.ReportingServices.Portal.ODataWebApi.Common.CatalogItemControllerHelper`1.GetItem(String key)
at Microsoft.ReportingServices.Portal.ODataWebApi.V2.Controllers.CatalogItemsController.GetEntity(String key, String castName)
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.Reflection.EntitySetReflectionODataController`1.GetRoot(ODataPath oDataPath, Int32& index)
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.Reflection.ReflectionODataController`1.Get(ODataPath oDataPath)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- 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 System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.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 System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.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 System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.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 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.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 System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext().| RequestID = s_283c6c52-ba29-4b6b-b0da-263596ff319c

 

Would be glad if anyone can help.

 

Thanks,

 

JE

 


 

hassam11dec Frequent Visitor
Frequent Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

Hi Jules 

Did you solve it i am facing the same issue

Super User
Super User

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

The steps for configure Power BI Report Server in and NLB cluster are the same as configuring SSRS in a cluster. The error you are seeing most likely means you missed doing step 3 from the following: https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-report-server-on-a... 

 

When you upload a report or publish one from Power BI Desktop it happens in 2 steps. The first step is the server uploads the file to a temporarly local folder, then it processes the file and adds it to the report server database. If your BackConnectHostName setting is not configured correctly the second step can go back out the load balancer and get re-directed to one of the other nodes which will not have the pbix file in it's local file system. (Note: after changing this setting I think you may have to do a re-boot for it to take effect)

hassam11dec Frequent Visitor
Frequent Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

Step 3 is straight forward i tried still same error 

MS engineer also mentioned below

 

Please add both Vitrual Sever name(vip server name) and node FQDN(node1/node2) into both nodes

For SSL, as pre-discussion, please consider register the Certificate on the correct Virtual Server name(vip server name)

On the other hand, please tried update the Authentication Type as below::

Backup rsreportserver.config:

Update:
From:
<AuthenticationTypes>
<RSWindowsNTLM/>
</AuthenticationTypes>

To:
<AuthenticationTypes>
<RSWindowsNegotiate />
<RSWindowsKerberos />
<RSWindowsNTLM />
</AuthenticationTypes>

hassam11dec Frequent Visitor
Frequent Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

ssl url : bi.dev.companyname.com.au
VIP server name/Load balancer : bi.int.gslb.dev.companyname.au

BackConnectHostName: bi.int.gslb.dev.companyname.au (line1)
                                        server1.com.au (line2 FQDN name of server)
Also do the ssl need to be register on the VIP/load balancer as well?

MariusD Visitor
Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

Hi,

 

have you also configured the ReportServerURL in the rsreportserver.config file? It should be similar to this: <ReportServerUrl>https://{node FQDN}/ReportServer</ReportServerUrl>. Replace {node FQDN} with the fully qualified domain name of the node, on each of the nodes.

 

Regards,

Marius

View solution in original post

Super User
Super User

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report


@hassam11dec wrote:

BackConnectHostName: bi.int.gslb.dev.companyname.au (line1)
                                        server1.com.au (line2 FQDN name of server)

 

This is not right. The name of the load balancer is not important. The BackConnectHostname should be the FQDN of the url the users navigate to which looks like it is bi.dev.companyname.com.au. The idea of this setting is that if the server replies to a request that was sent to bi.dev.companyname.com.au it knows that this is a local address.

 



Also do the ssl need to be register on the VIP/load balancer as well?


It depends how you have your SSL configured. Usually you can either configure the load balancer to terminate the SSL connection. Or you can get the load balancer to do SSL pass through and you setup the certificate for bi.dev.companyname.com.au on both nodes. I'm not really a load balancer expert, but we have our configuration setup to do the SSL pass through as it keeps the connection encrypted from client to the node.

hassam11dec Frequent Visitor
Frequent Visitor

Re: PowerBI report server scale-out with NLB - bad request when open or upload PowerBI Report

Hi 

Tried everything still stuck with the 400 issue 

ssl : bi.dev.companyname.com.au (installed on both nodes)

Attached only option 1 works only, if one of the server is up and other stopped (pbix file uploaded and no 400 error) with the VIP name mentioned in BackConnectionHostname (bi.int.gslb.....) 

Rest all options give 400 error 

PBI_NLB - Copy.jpgBackConnectionHostName

Helpful resources

Announcements
New Kudos Received Badges Coming

New Kudos Received Badges Coming

Kudos to you if you earned one of these! Check your inbox for a notification.

Microsoft Implementation for Communities Wins Award

Microsoft Implementation for Communities Wins Award

Learn about the award-winning innovation that was implemented across Microsoft’s Business Applications Communities.

Power Platform World Tour

Power Platform World Tour

Find out where you can attend!

Top Kudoed Authors (Last 30 Days)
Users online (1,963)