What is the CDT and memory limitation? Or the cause for error - java.lang.NoSuchMethodException
Default Memory parameters.
CDT defines a maximum memory to operate. Based on the number of records in a table it calculates the approximate memory which will be used for comparison of records. If the memory exceeds the 'maximum memory' then instead of doing the comparisons in-memory, CDT will serialize the records (in small buckets) and then compare them.
For abstract tables, this serialization does not work because we have an impl object which does not have a concrete table, rather the 'tableName' is the abstract table. Due to this, while serializing the impl object, the system gets the table name as 'yfs_pla_zone_set' (abstract) and hence gives error while accessing methods which are not present in the abstract db home.
Based on the memory calculations, it turns out that 10240 is the number of records, when CDT will go for serialization rather than in-memory comparison.
For making it work we will to have to increase the 'maximum memory' value so that instead of serialized comparison, 'in-memory' comparisons are done for this abstract table records. The default value of the below property is (10*1024*1024). We can set it to twice as follows in customer_overrides.properties.
Rate this page:
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.