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/

Reply via email to