Launching BF- Error Policy issue and-or getCharacterStream not implemented

  • KM03812403
  • 31-May-2021
  • 31-May-2021

Summary

Sometimes processing large tables having Clob and Blob fields could case this issue, Here you have a way to deal to, however, this is a workaround, but, if issue persist, you have to find other way in troubleshooting.

Error

 What is the scope of this knowledge?


This applies only if customer is using SDM 7.63 version and up.


 What is the error?


org.apache.cxf.phase.PhaseInterceptorChain : Chain org.apache.cxf.phase.PhaseInterceptorChain@552f37ae was created. Current flow:
  setup [PolicyOutInterceptor]
 Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: Unable to rollback against JDBC Connection



Cause

Why is it happening?


This is not the only way to fix the issue. You would check if you have CLOB or BLOB fields and large data in tables, this will overflow current parameters ruling BF on execution.

Issue Summary:
Customer was facing issue with AQS cache. The reason is that the customer was having CLOB column in the table & since CLOB is larger data type which can contain a lot of memory per row (example: In oracle CLOB column can be up to 4GB) it was running out of memory for big tables.

Fix

 What is the way to attach this issue to try to see if this works?

 

Solution:


1) Reduce the batch size for SDM In-memory AQS cache processing by reducing "lw2.insert.batchSize" in outerbay.properties file.
However this did not help and after a remote session we got to know that the csv file in the archive folder was very big more than 32GB each. So we had suggested for an additional change.


2) Reduce the file batch size, this can be configured in System Parameter -> Database to File -> Performance -> "Data Movement Batch Size". And after this rerun the Archive Job & AQS cache.

 What else to read or as reference?


No other information, this is one way to attack the issue, most of the times it is related to issue stated here and the wat to fix it up, but, if before solution fails, then you have to continue troubleshooting in other way.