Hello, I have an EntryProcessor that is running inside an ignite.compute().call(callable) from a client node. The 3 servers are using peer class loading and do not have any of these custom classes on its path.
FragmentAssignToScannerEntryProcessor class: import java.io.Serializable; import javax.cache.processor.EntryProcessor; import javax.cache.processor.MutableEntry; import org.apache.ignite.Ignite; import org.apache.ignite.binary.BinaryObject; import com.company.fragment.api.StateChangeFragmentEvent; import com.company.fragment.api.constants.FragmentState; import com.company.fragment.node.FragmentStateMachine; import com.company.fragment.node.constants.FragmentStateMachineEvent; import com.company.fragment.node.dao.binary.converter.BinaryFragmentConverter; import com.company.fragment.node.domain.Fragment; public class FragmentAssignToScannerEntryProcessor implements EntryProcessor<Long, BinaryObject, StateChangeFragmentEvent>, Serializable { private static final long serialVersionUID = 1L; private final BinaryFragmentConverter BINARY_OBJECT_TO_FRAGMENT = new BinaryFragmentConverter(); private final Ignite _ignite; private final long _scannerId; public FragmentAssignToScannerEntryProcessor(Ignite ignite, long scannerId) { _ignite = ignite; _scannerId = scannerId; } @Override public StateChangeFragmentEvent process(MutableEntry<Long, BinaryObject> entry, Object... args) { if (entry == null || entry.getValue() == null) { return null; } StateChangeFragmentEvent record = null; Fragment fragment = BINARY_OBJECT_TO_FRAGMENT.apply(entry.getValue()); FragmentState currentState = fragment.getState(); FragmentState nextState = FragmentStateMachine.getInstance().nextState(currentState, FragmentStateMachineEvent.SCANNER_REQUESTED_FRAGMENT); if (nextState != currentState) { Fragment newFragment = new Fragment(fragment); newFragment.setAssignedScannerId(_scannerId); record = newFragment.changeState(nextState); entry.setValue(_ignite.binary().toBinary(newFragment)); } return record; } } Stack Trace: SEVERE: Failed to deserialize object [typeName=scan.fragment.node.entryprocessor.FragmentAssignToScannerEntryPro Sep 19 13:28:18 apache-ignite[47439]: class org.apache.ignite.binary.BinaryObjectException: Failed to read field [name=BINARY_OBJECT_TO_FRAGMENT] Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:870) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.readField(BinaryReaderExImpl.java:1982) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:698) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:183) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:870) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1793) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryUtils.deserializeOrUnmarshal(BinaryUtils.java:2156) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryUtils.doReadCollection(BinaryUtils.java:2087) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1914) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9962) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10020) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.unmarshal(IgniteTxEntry.java:945) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheMessage.unmarshalTx(GridCacheMessage.java:421) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest.finishUnmarshal(GridDistributedTxPrepar Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1520) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:574) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:511) Sep 19 13:28:18 apache-ignite[47439]: at java.lang.Thread.run(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: Caused by: java.lang.IllegalArgumentException: Can not set final scan.fragment.node.dao.binary.converter.BinaryF Sep 19 13:28:18 apache-ignite[47439]: at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.set(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at java.lang.reflect.Field.set(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:183) Sep 19 13:28:18 apache-ignite[47439]: ... 34 more Sep 19 13:28:18 apache-ignite[47439]: Sep 19, 2018 1:28:18 PM org.apache.ignite.logger.java.JavaLogger error Sep 19 13:28:18 apache-ignite[47439]: SEVERE: Failed to deserialize object [typeName=T2] Sep 19 13:28:18 apache-ignite[47439]: class org.apache.ignite.binary.BinaryObjectException: Failed to read field [name=val1] Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:870) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1793) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryUtils.deserializeOrUnmarshal(BinaryUtils.java:2156) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryUtils.doReadCollection(BinaryUtils.java:2087) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1914) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9962) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10020) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.unmarshal(IgniteTxEntry.java:945) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheMessage.unmarshalTx(GridCacheMessage.java:421) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest.finishUnmarshal(GridDistributedTxPrepar Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1520) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:574) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:511) Sep 19 13:28:18 apache-ignite[47439]: at java.lang.Thread.run(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to deserialize object [typeName=scan.fra Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:909) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryReaderExImpl.readField(BinaryReaderExImpl.java:1982) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:698) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:183) Sep 19 13:28:18 apache-ignite[47439]: ... 28 more Sep 19 13:28:18 apache-ignite[47439]: Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to read field [name=BINARY_OBJECT_TO_FRAGMENT] Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:870) Sep 19 13:28:18 apache-ignite[47439]: ... 33 more Sep 19 13:28:18 apache-ignite[47439]: Caused by: java.lang.IllegalArgumentException: Can not set final scan.fragment.node.dao.binary.converter.BinaryF Sep 19 13:28:18 apache-ignite[47439]: at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.set(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at java.lang.reflect.Field.set(Unknown Source) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702) Sep 19 13:28:18 apache-ignite[47439]: at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:183) -- Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/