We're updating the issue view to help you get more done. 

DataSyncOperation#getDataAsDocument not supported for some List Types

Description

If space object, related to a DataSyncOperation, contain a List of type UnmodifiableRandomAccessList, then calling #getDataAsDocument() throws a "SpaceMetadataValidationException Invalid metadata for class [java.util.Collections$UnmodifiableRandomAccessList]: Type must have a constructor with no parameters."

com.gigaspaces.metadata.SpaceMetadataValidationException: Invalid metadata for class [java.util.Collections$UnmodifiableRandomAccessList]: Type must have a constructor with no parameters.
com.gigaspaces.internal.metadata.converter.ConversionException: com.gigaspaces.metadata.SpaceMetadataValidationException: Invalid metadata for class [java.util.Collections$UnmodifiableRandomAccessList]: Type must have a constructor with no parameters.
at com.gigaspaces.internal.metadata.AbstractTypeIntrospector.toObject(AbstractTypeIntrospector.java:105)
at com.gigaspaces.internal.transport.AbstractEntryPacket.toObject(AbstractEntryPacket.java:256)
at com.gigaspaces.internal.transport.AbstractEntryPacket.toObject(AbstractEntryPacket.java:240)
at com.j_spaces.sadapter.datasource.EntryPacketDataConverter.toDocument(EntryPacketDataConverter.java:136)
at com.j_spaces.sadapter.datasource.EntryPacketDataConverter.toDocument(EntryPacketDataConverter.java:45)
at com.gigaspaces.internal.sync.mirror.MirrorBulkDataItem.getDataAsDocument(MirrorBulkDataItem.java:157)

This is thrown in CollectionUtils#cloneList
Our expectation would be that either DataSyncOperation#supportsDataAsDocument() returns in such a case false or List of type UnmodifiableRandomAccessList is supported.

Workaround

None

Acceptance Test

None

Status

Assignee

Unassigned

Reporter

Ester Atzmon

Labels

None

Priority

Medium

SalesForce Case ID

12077

Fix versions

None

Commitment Version/s

None

Due date

None

Product

XAP

Edition

Open Source

Platform

All