New InfoPath Calculation Timeout in SharePoint 2016

SharePoint 2016 was born from the cloud - that is SharePoint Online in Office 365. In SharePoint Online, we added a performance throttling mechanism so that complex InfoPath forms do not cause performance issues for the web servers. The same code base was shipped with SharePoint Server 2016 (On Premise), and you may notice that the InfoPath forms that you used to be able to publish successfully in SharePoint 2013 are failing to be published with the following error:

Expression evaluation timeout (<timeout> ms) exceeded, closing form urn:schemas-microsoft-com:office:infopath:list.

You can set the timeout to the largest possible value which is equivalent of removing the timeout check. Just know that this can have a negative performance impact on your SharePoint Web Front Ends.

Here is the PowerShell script that you can use to change the timeout:

[code lang="PowerShell"]
$farm = Get-SPFarm
$service = $farm.Services | where {$_.TypeName -eq "Forms Service"}
$service.Properties["CalculationTimeoutMs"] = [Int32]::MaxValue
$service.Update()

Happy SharePointing!