Hello! Sep 19 13:28:18 apache-ignite[47439]: Caused by: java.lang.IllegalArgumentException: Can not set final scan.fragment.node.dao.binary.converter.BinaryF
I think you have final fields in your class that can't be written to by deserialization. Unfortunately the messages are truncated. Regards, -- Ilya Kasnacheev чт, 20 сент. 2018 г. в 1:39, Vroodle <smur...@trustwave.com>: > 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/ >