Hi everyone,
I am troubleshooting an issue in Acumatica where certain Contact records time out when opening the Contact entry screen.
The Contacts list screen had a separate Generic Inquiry issue, which I was able to correct. The GI had an invalid condition:
Contact.UsrCustomerLocationID <> MAIN
UsrCustomerLocationID is an integer/custom LocationID field, while MAIN is the LocationCD/substitute key. I corrected the GI by joining the Location table to Contact using:
Contact.UsrCustomerLocationID = Location.LocationIDContact.BAccountID = Location.BAccountID
Then I changed the condition to:
Location.LocationCD <> MAIN
After that, the Contacts list screen started loading correctly.
However, I am still getting timeout errors when opening certain Contact records directly on the Contact entry screen. The screen opens blank and then throws an execution timeout. The trace points to Acumatica duplicate validation / duplicate entity loading:
Microsoft.Data.SqlClient.SqlException: Execution Timeout Expired.
The timeout period elapsed prior to completion of the operation or the server is not responding.
PX.Objects.CR.Extensions.CRDuplicateEntities.CRDuplicateEntities`2.<duplicates>d__11.MoveNext()
PX.Objects.CR.Extensions.CRDuplicateEntities.CRDuplicateEntities`2.<duplicatesForMerging>d__13.MoveNext()
PX.Data.PXGraph.ExecuteSelect(...)
This appears to happen on certain existing contacts, not necessarily every contact. One example is a contact where the user changed the company name on the Customer record and changed the contact last name, then received an object reference error on save. After that, opening the contact causes a timeout.
I checked Duplicate Validation for Contact to Contact. Validate on Entry is enabled. I tried changing the Email rule from Block to Warn, but the timeout still occurs, likely because the duplicate search query is still being executed.
Has anyone seen this before where the Contact screen times out while loading CRDuplicateEntities.duplicates or duplicatesForMerging?
I am trying to determine:
-
Whether there is a way to temporarily disable or bypass duplicate entity loading on the Contact screen.
-
Whether this is usually caused by duplicate validation configuration, bad contact data, or SQL/index/statistics issues.
-
Which tables/indexes should be reviewed for duplicate validation performance.
-
Whether there is a known workaround for opening affected Contact records when the duplicate candidates query times out.
Any guidance would be appreciated.
Thank you!