KB Article #178548
Interchange stop picking up files from application pickup. Error- org.apache.openjpa.lib.jdbc.ReportingSQLException: Prepared or callable statement has more than 2000 parameter markers
Problem:
Interchange stop picking up files from application pickup.
Error in log-
2017-04-05 09:20:31,265 - ERROR [Worker48-21] (ConsumptionManager.invoke:98) - Error consuming from \\gvafiler00\cyclone\data\out in exchange Default out folder com.cyclonecommerce.tradingengine.transport.UnableToConsumeException: org.apache.openjpa.lib.jdbc.ReportingSQLException: Prepared or callable statement has more than 2000 parameter markers. {UPDATE PollResultActivity SET FullNodeName=? WHERE ExchangePointOID=? AND (Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR Filename=? OR
Reason:
The issue may appears when Interchange uses MS -SQL server database. It occurs due to limitation on MS-SQL server which accept SQL query parameters upto 2000. So, when more than 2000 parameters send to MS-SQL database, it throws above error and stop processing further.
Resolution:
It was found that application pickup -- > Advanced -- > “Maximum files per polling interval" was set to 5000 and file available to poll was also more than 2000.
To resolve it, set the “Maximum files per polling interval" less than 2000. Since by default it is 100 so it should not be set much high value.