Java.lang.ArrayIndexOutOfBoundsException While Using DB Adapter Which Returns Large Resultsets

(Doc ID 2168712.1)

Last updated on SEPTEMBER 11, 2016

Applies to:

Oracle SOA Suite - Version 12.1.3.0.0 and later
Oracle TopLink - Version 12.1.3.0.0 and later
Information in this document applies to any platform.

Symptoms

When using DB Adapter to select a large number of rows, the query is sometimes failing with the error message below:

BINDING.JCA-11614
DBReadInteractionSpec Execute Failed Exception.
Query name: [GetItem], Descriptor name: [GetItem.BatchMessage].
Caused by java.lang.ArrayIndexOutOfBoundsException: -1.
See root exception for the specific exception.  This exception is considered not retriable, likely due to a modelling mistake.

 

Caused by java.lang.ArrayIndexOutOfBoundsException: -1.
See root exception for the specific exception.  This exception is considered not retriable, likely due to a modelling mistake.

 at oracle.tip.adapter.db.exceptions.DBResourceException.createNonRetriableException(DBResourceException.java:690)
 at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:656)
 at oracle.tip.adapter.db.exceptions.DBResourceException.outboundReadException(DBResourceException.java:698)
 at oracle.tip.adapter.db.DBInteraction.executeOutboundRead(DBInteraction.java:639)
 at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:286)
 at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:417)
 ... 102 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
 at java.util.ArrayList.elementData(ArrayList.java:400)
 at java.util.ArrayList.get(ArrayList.java:413)
 at org.eclipse.persistence.mappings.ForeignReferenceMapping.extractResultFromBatchQuery(ForeignReferenceMapping.java:583)
 at org.eclipse.persistence.mappings.CollectionMapping.extractResultFromBatchQuery(CollectionMapping.java:955)
 at org.eclipse.persistence.internal.indirection.BatchValueHolder.instantiate(BatchValueHolder.java:58)
 at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:116)
 at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:89)
 at org.eclipse.persistence.internal.indirection.BasicIndirectionPolicy.getRealAttributeValueFromObject(BasicIndirectionPolicy.java:280)
 at org.eclipse.persistence.mappings.ForeignReferenceMapping.getRealAttributeValueFromAttribute(ForeignReferenceMapping.java:1068)
 at org.eclipse.persistence.mappings.DatabaseMapping.getRealAttributeValueFromObject(DatabaseMapping.java:786)
 at oracle.tip.adapter.db.ox.O_XParser.processCollectionMapping(O_XParser.java:721)
 at oracle.tip.adapter.db.ox.O_XParser.process(O_XParser.java:704)
 at oracle.tip.adapter.db.ox.Visitor.process(Visitor.java:261)

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms