Slow Connect-REST inbound mapping of JSON content
Connect-REST connectors run slow (over 3 minute response time) in the production system. These connectors map JSON content to the clipboard, and the inbound data mapping takes a significant amount of time.
This performance issue is due to a database query executed by the ServiceHelper.getPropertiesInClass() method every time the method is executed. While an individual query for the properties on a class is fast (0.02 seconds), when run ~7500 times (once for each JSON value mapped in this connector) this causes a significant performance problem in aggregate (7500 x 0.02 = 150 seconds). Here is the code module, method, and line in question:
Steps to Reproduce
- Run Connect-REST connector.
- Observe performance.
A defect in Pegasystems’ code or rules.