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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
JDBOS
Helper III
Helper III

Dataset Refresh Error: 431 - "Request Header Fields Too Large."

We have a several Power BI Service reports that have been refreshing without errors for six months.  Recently, we've started getting this msg:

 

An error occurred while processing the data in the dataset.

Refresh failed:
"RDDS Individual Rpt"[hyperlinked] has failed to refresh.
Failure details: The last refresh attempt failed because of an internal service error. This is usually a transient issue. If you try again later and still see this message, contact support.

 

Web.Contents failed to get contents from 'https://site.my.salesforce.com/services/data/v29.0/query?q=SELECT%20Id%2COwnerId%2CIsDeleted%2CName%......

...2CExpECM__ECM_Placement_Sequence__c%2CExpECM__ECM_Sharing__c%2CE' (431): Request Header Fields Too Large. The exception was raised by the IDataReader interface. Please review the error message and provider documentation for further information and corrective actiion.

Table: Case_Record

 

As background, we are a nonprofit providing Social Worker support for indviduals.  We saw this msg a few month ago on some older reports that hadn't used Power Query Editor to reduce the number of fields brought into the Power BI Case Record table. That worked, but now we are again seeing this msg... But this error msg is listing fields that are screened by PQE and not brought into the Power BI model.  And we don't get refresh errors when we refresh > publish in PBI Desktop (see screenshot below.)

And we've confirmed that the newly published Dataset/Report is the one displaying refreshed data (final screenshot.)

 

Also, the refresh always fails on the "ExpECM__ECM_Sharing__c" field (approximately after 1k characters) although it's confirmed as empty - and why would Request Headers be Too Large??

 

From some research, this may be related to cookies...which could explain why this has recently started happening... but we're not finding any references to others with this same problem in Power BI

 

Seems like I need to learn more about IDataReader but I'm not a coder so any suggested next steps would be much appreciated!

RDDS Indiv Rpt dataset refresh errors 2020-12-16 1a.jpg

 

RDDS Indiv Rpt dataset refresh no errors 2020-12-15b.jpg

And the re-published report was showing Data that was refreshed on 12/15

successful build of reportsuccessful build of report

 

1 ACCEPTED SOLUTION
v-nijakk
Employee
Employee

. Based on the troubleshooting, Fiddler trace and the error, below are the points which will help you to resolve or reach out to Salesforce for your issue:

  1. On fiddler I have studied the request headers being sent from your Power Bi to Salesforce and the header has 16470 lines of request being passed to Salesforce.
  2. The limit set by Salesforce is 16,000 characters and 1000 for the API call to be received so that it can process the request
  3. The limit is 1000 for the number of calls being made and the character length limit is 16,000 characters for salesforce
  4. This can be seen on their post as well: apex - How to fix error 431 Request Header Fields Too Large . HTTP CODE[431] in Anonymous Window - S...
  5. The iDataReader interface connects your .Net framework to pass the request to the datasource and if the datasource doesn’t respond with the request then it will throw the error
  6. In summary, you would have to reduce the number of columns that you are writing or adding in your M-Query to resolve this issue
  7. Once the characters are less than 16,000 characters the issue would be resolved as Salesforce would be able to comprehend those many characters

View solution in original post

6 REPLIES 6
ReportBuilder07
Helper III
Helper III

Hi @JDBOS I know this reply is very late. As a workaround, in case you can't refresh again, maybe you can try to test your connection with a 3rd party connector. I've tried windsor.ai, supermetrics (which doesn't have PBI as a destination, so you first have to export to Google Sheets and then export to PBI) and funnel.io. I stayed with windsor because it is much cheaper so just to let you know other options

v-nijakk
Employee
Employee

. Based on the troubleshooting, Fiddler trace and the error, below are the points which will help you to resolve or reach out to Salesforce for your issue:

  1. On fiddler I have studied the request headers being sent from your Power Bi to Salesforce and the header has 16470 lines of request being passed to Salesforce.
  2. The limit set by Salesforce is 16,000 characters and 1000 for the API call to be received so that it can process the request
  3. The limit is 1000 for the number of calls being made and the character length limit is 16,000 characters for salesforce
  4. This can be seen on their post as well: apex - How to fix error 431 Request Header Fields Too Large . HTTP CODE[431] in Anonymous Window - S...
  5. The iDataReader interface connects your .Net framework to pass the request to the datasource and if the datasource doesn’t respond with the request then it will throw the error
  6. In summary, you would have to reduce the number of columns that you are writing or adding in your M-Query to resolve this issue
  7. Once the characters are less than 16,000 characters the issue would be resolved as Salesforce would be able to comprehend those many characters

@v-nijakk thx so much for your research and coaching - we are importing a Salesforce object that has many columns so it makes sense that we eventually encountered Salesforce's limits on API calls - we're exploring several options but now understand the source of the error msg.

Hello, I know it's been a long timebut just sharing this in case others are hunting for an answer. We also had a salesforce obkect with 700+ fields and got the same error.. This worked for us as we could cherry pick the fields we wanted (and did not need 700+)

 

Import as normal and you will have a set of steps that fail at step 2.. Leave step 1 intact and change step two as below to "cherry pick" the fields you want. We found you can have up to 698 before this falls over but if you only need a subset of the fields then this works.

 

let

    Source = Salesforce.Data("https://login.salesforce.com/", [ApiVersion=48]),

 

    #"Removed Other Columns" = Table.SelectColumns(

 

Source{[Name="Name_of_table"[Data],

 

{

"Name",

"RecordTypeId"

})

in

    #"Removed Other Columns"

JDBOS
Helper III
Helper III

@v-eqin-msft   This IDataReader error is happening when Power BI Service attempts to refresh the Dataset - where are cookies being stored?

v-eqin-msft
Community Support
Community Support

Hi @JDBOS ,

 

The HTTP 431 response status code indicates that the server refuses to process the request because the request’s HTTP headers are too long. The request may be resubmitted after reducing the size of the request headers.

 

Please try to clear cookies.

 

Best Regards,
Eyelyn Qin

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors